Открыть создание файла со странными разрешениями - PullRequest
0 голосов
/ 24 апреля 2019

Сначала я использовал

fd = open(outputfile,O_WRONLY | O_TRUNC | O_CREAT);

, который давал мне произвольные права доступа к файлу, но теперь я использую

fd = open(outputfile,O_WRONLY | O_TRUNC | O_CREAT, 0666);

, этот код дает файлу точно такие же разрешения для файла, но онистранно.Я на самом деле хочу -rw-rw-rw-, но я получаю:

--w---x--T 1 root root    21 Apr 24 13:02 fasdfas

и в одной из других систем:

--w--wx--T 1 s8771-26 s8771-26    21 Apr 24 22:09 test1
--w--wx--T 1 s8771-26 s8771-26    21 Apr 24 22:09 test2
--w--wx--T 1 s8771-26 s8771-26    21 Apr 24 22:09 test3
--w--wx--T 1 s8771-26 s8771-26    21 Apr 24 22:09 test4


#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc, char ** argv)
{
    int fd = open(argv[1],O_WRONLY | O_TRUNC | O_CREAT, 0666);
    dup2(fd,1);
    printf("TEST");
    return 0;
}

enter image description here

1 Ответ

0 голосов
/ 24 апреля 2019

Как указал @JohnBollinger в комментарии, я не сохранил файл правильно, и я использовал 666 вместо 0666

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...