Lek*_*eyn 6 permissions chmod stat history
stat 调用对于模式字段中的各个位具有一系列符号名称。从stat(2)手册页:
The following mask values are defined for the file mode component of
the st_mode field:
S_ISUID 04000 set-user-ID bit
S_ISGID 02000 set-group-ID bit (see below)
S_ISVTX 01000 sticky bit (see below)
S_IRWXU 00700 owner has read, write, and execute permission
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission
S_IRWXG 00070 group has read, write, and execute permission
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission
S_IRWXO 00007 others (not in group) have read, write, and
execute permission
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permission
S_IXOTH 00001 others have execute permission
Run Code Online (Sandbox Code Playgroud)
我可以看到这S_IRWXU
是rwx
和u
(用户的读取、写入和执行权限)的S_IRUSR
组合,R
以及和usr
(用户的读取权限)的组合。同样适用于 Write 和 eXecute,以及 GRouP 和 OTHers。
该S
部分可能以stat
功能命名。
但是那I
部分呢,它是什么意思呢?它是否以各种S_ISDIR
(“是目录”)宏为模型?
什么是VTX
从部分S_ISVTX
?我无法将这个缩写与“粘滞位”联系起来。
孩子们,这是历史时刻!史蒂文斯,“APUE”,第 4 章,第 10 节如此引用:
“S_ISVTX 位有一个有趣的历史......如果它被设置......程序文本的副本被保存在交换区......这导致程序下次更快地加载到内存......更高版本Unix 将此称为保存文本位,因此称为常量 S_ISVTX。”