chmodアクセスを整数にマッピングする方法

chmodアクセスを整数にマッピングする方法

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

追加資料:

おすすめ記事