Режим файла на MacOSX

Режим файла на MacOSX

Я знаком с 3 «битами» режима файла, определяющими права пользователя, группы и другие разрешения, а также с «битом» setuid/setgid/sticky, но когда я просматриваю statкорневые каталоги на моем ноутбуке MacOSX, я вижу 1-2 дополнительных поля. Что это?

 [onlyanegg@macosx ~]$ stat -f '%p %N' /*
 40775 /Applications
 40755 /Library
 40755 /Network
 40755 /System
 40755 /Users
 41777 /Volumes
 40755 /bin
 41775 /cores
 40555 /dev
120755 /etc
 40555 /home
100644 /installer.failurerequests
 40555 /mnt
 40555 /net
 40775 /opt
 40755 /private
 40755 /sbin
120755 /tmp
 40755 /usr
120755 /var

решение1

stat(1)указывает, что %pзапросы

Тип файла и разрешения.

(ищите "datum" на связанной странице). Отображаемое значение — это все st_mode(см.stat(2):

 #define S_IFMT 0170000           /* type of file */
 #define        S_IFIFO  0010000  /* named pipe (fifo) */
 #define        S_IFCHR  0020000  /* character special */
 #define        S_IFDIR  0040000  /* directory */
 #define        S_IFBLK  0060000  /* block special */
 #define        S_IFREG  0100000  /* regular */
 #define        S_IFLNK  0120000  /* symbolic link */
 #define        S_IFSOCK 0140000  /* socket */
 #define        S_IFWHT  0160000  /* whiteout */
 #define S_ISUID 0004000  /* set user id on execution */
 #define S_ISGID 0002000  /* set group id on execution */
 #define S_ISVTX 0001000  /* save swapped text even after use */
 #define S_IRUSR 0000400  /* read permission, owner */
 #define S_IWUSR 0000200  /* write permission, owner */
 #define S_IXUSR 0000100  /* execute/search permission, owner */

Это объясняет получаемые вами значения:

  • значения, начинающиеся с 4, являются каталогами ( /Applications, /Library...)
  • значения, начинающиеся с 12, являются символическими ссылками ( /etc, /tmp, /var)
  • значения, начинающиеся с 10, являются обычными файлами ( /installer.failurerequests)

Связанный контент