Почему восьмеричные разрешения начинаются с 40?

Я только что установил nemo и отображаю восьмеричное поле с разрешениями. Разрешения - это, например, 40755 и 100755. Я знаком с последними тремя цифрами (755), и я предполагаю, что это разрешения rwx для владельца, группы и всех остальных. Каковы префиксные разрешения - 40 и 100 в моем примере?

1
задан 20 February 2014 в 18:28

2 ответа

Это тип файла. 10 - это fifo, а 40 - это каталог. Из man 2 stat:

   The following flags are defined for the st_mode field:

       S_IFMT     0170000   bit mask for the file type bit fields
       S_IFSOCK   0140000   socket
       S_IFLNK    0120000   symbolic link
       S_IFREG    0100000   regular file
       S_IFBLK    0060000   block device
       S_IFDIR    0040000   directory
       S_IFCHR    0020000   character device
       S_IFIFO    0010000   FIFO
       S_ISUID    0004000   set-user-ID bit
       S_ISGID    0002000   set-group-ID bit (see below)
       S_ISVTX    0001000   sticky bit (see below)
       S_IRWXU    00700     mask for file owner permissions
       S_IRUSR    00400     owner has read permission
       S_IWUSR    00200     owner has write permission
       S_IXUSR    00100     owner has execute permission
       S_IRWXG    00070     mask for group permissions
       S_IRGRP    00040     group has read permission
       S_IWGRP    00020     group has write permission
       S_IXGRP    00010     group has execute permission
       S_IRWXO    00007     mask for permissions for others (not in group)
       S_IROTH    00004     others have read permission
       S_IWOTH    00002     others have write permission
       S_IXOTH    00001     others have execute permission
0
ответ дан 20 February 2014 в 18:28

Примечание / исправление: восьмеричное разрешение дается на 7 позиций: 0000000 позволяет называть их gfedcba.

Позиция «а» предназначена для «других» и представляет собой сумму прав: 1 (выполнить или ввести для каталога), 2 (записать) и 4 (прочитать). пример: 7 - это 4 + 2 + 1; 6 - это 4 + 2 ...

Позиция "b" такая же, но для "группы"

Позиция "c" для "владельца"

Позиция "d" для суммы специальных символов: 1 для закрепления (только владелец может переименовать или удалить файл, если это установлено, в зависимости от того, установлены ли другие разрешения) 2 для принудительной группы (группа нового файла будет группой режиссера, если владельцу файла разрешено «писать»). в этом dir) 4 для принудительного владельца (владелец нового файла будет владельцем dir, если реальный владелец (создатель) файла имеет разрешение на «запись» в dir)

Позиция «e» «g» для типа «узел»: (001 - это FIFO) (002 - это устройство с поддержкой Carracter) 004 - это каталог 006 - это блочное устройство (вы можете найти его в / dev) 010 - это файл 012 - это файл символическая ссылка .. (См. список в предыдущем ответе)

0
ответ дан 20 February 2014 в 18:28

Другие вопросы по тегам:

Похожие вопросы: