chmod権限が整数にマップされたコードを見つけました。
33204 // -rw-rw-r--
36863 // -rwsrwsrwt
36855 // -rwsrwSrwt
36799 // -rwSrwsrwt
36351 // -rwsrwsrwx
36343 // -rwsrwSrwx
これらの権限は整数にどのようにマップされますか?
33261, 41453
この番号がどの権限にマップされているかを探します。私はさまざまなリンクを見ましたが、権限を数値に変換するリンクを見つけました。切り替えに役立つ人はいますか?よろしくお願いします!
答え1
8進数でのみ「意味があります」。これは使用する最初の行です。私のショーの一つ変換:
$ hex 33204
33204: 33204 0100664 0x81b4 text "\201\264" utf8 \350\206\264
これ0100664
これは、読み取り/書き込み(ユーザー)、読み取り/書き込み(グループ)、読み取り専用(その他)を含む一般的なファイルであることを意味します。マニュアルchmod
ページではこれについて言及する必要がありますが、最初のビット(S_IFREG
値)は言及しません。POSIX- 他のフラグと同じくらい頻繁に。タイトルの例は次のとおりです。
#define S_IFMT 00170000
#define S_IFSOCK 0140000
#define S_IFLNK 0120000
#define S_IFREG 0100000
#define S_IFBLK 0060000
#define S_IFDIR 0040000
#define S_IFCHR 0020000
#define S_IFIFO 0010000
#define S_ISUID 0004000
#define S_ISGID 0002000
#define S_ISVTX 0001000
追加資料: