MacOSXのファイルモード

MacOSXのファイルモード

ユーザー、グループ、その他の権限を定義する 3 つのファイル モード「ビット」と、setuid/setgid/sticky「ビット」についてはよく知っていますが、statMacOSX ラップトップのルート レベル ディレクトリを見ると、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_modestat(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

関連情報