Linuxでumaskを実行するときの0022の最初の数字はどういう意味ですか? [コピー]

Linuxでumaskを実行するときの0022の最初の数字はどういう意味ですか? [コピー]

0022と022の間に参照差がないことがわかっています。協会。権限が0066のファイル1.cがあります。ただし、ファイル1.cのモードを1066に変更した後、ls -lを使用してファイルの権限を確認すると、権限に影響します。最初の数字が変更されるたびに、他の許可ビットが変更されます。実際にはどういう意味ですか?

[vm4 ~]# ls -l 1.c
----rw-rw- 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 1066 1.c
[vm4 ~]# ls -l 1.c
----rw-rwT 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 2066 1.c
[vm4 ~]# ls -l 1.c
----rwSrw- 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 5066 1.c
[vm4 ~]# ls -l 1.c
---Srw-rwT 1 root root 10 Dec 23 22:48 1.c

ベストアンサー1

はい、0022と022には違いがあります。 umaskではありませんが、chmodには違いがあります。

各ユーザー、グループ、および他のユーザーの権限は、3 文字で記述されます。
これは通常rwxrwxrwx(または-必要に応じて)ls出力に含まれます。

$ touch 1.c
$ ls 1.c
-rw-r--r-- 1 user user 0 Feb 13 09:01 1.c

各設定ビットは文字で表示され、設定されていないビットは文字で表示されます-

したがって、
rwxは8進数7の2進数である111を表します。
rw-は、8進数6の2進数である110を表します。
r--は、8進数4の2進数である100を表します。

ただし、デフォルトのrwxに加えて、設定する追加の権限を表す他の文字があります。これらの権限は、4つの8進数で書かれた3桁の数字でもあり、次のように表されます。

ファイルの場合:

0644  ==>  rw-r--r--
1644  ==>  rw-r--r-T           # sticky bit (ignored in linux)

0644  ==>  rw-r--r--
2644  ==>  rw-r-Sr--           # Group ID does not match. 
0655  ==>  rw-r-xr-x
2644  ==>  rw-r-sr-x           # Run with group ID: SGID

0644  ==>  rw-r--r--
2644  ==>  rwSr--r--           # User  ID does not match. 
0755  ==>  rwxr-xr-x
2744  ==>  rwsr-xr-x           # Run with User ID: SUID

完全な権限(7):

$ chmod 7777 1.c; ls -l 1.c
-rwsrwsrwt 1 user user 0 Feb 13 09:01 1.c

ディレクトリの場合:

SGID means that new files inside this dir will inherit group owner.
SUID Mostly ignored in Linux and Unix. BSD varies.
Sticky Protect files inside from being modified by a different user.

リンク:
-粘り強いビット
Linux:Linuxカーネルはファイルの固定ビットを無視します。
ディレクトリに固定ビットが設定されている場合、ルート、ディレクトリ所有者、またはファイル所有者のみがそのディレクトリ内のファイルをリンク解除または名前変更できます。
-UID設定とGID設定
-ユーザーIDをディレクトリ化して設定し、グループIDビットを設定します。 -システム管理ガイド:セキュリティサービス

おすすめ記事