Modo de arquivo no MacOSX

Modo de arquivo no MacOSX

Estou familiarizado com os 'bits' de modo de arquivo de 3 que definem usuário, grupo e outras permissões, bem como o 'bit' setuid/setgid/sticky, mas quando eu uso statos diretórios de nível raiz em meu laptop MacOSX, vejo 1 a 2 extras Campos. Quem são esses?

 [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

Responder1

stat(1)especifica que as %psolicitações

Tipo de arquivo e permissões.

(procure "datum" na página vinculada). O valor exibido é todo st_mode(verstat(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 */

Isso explica os valores que você está obtendo:

  • valores começando com 4 são diretórios ( /Applications, /Library...)
  • valores começando com 12 são links simbólicos ( /etc, /tmp, /var)
  • valores começando com 10 são arquivos regulares ( /installer.failurerequests)

informação relacionada