Unix与Linux文件权限的含义是什么

文件权限

st_mode

含义

八进制值

英文注记

S_IRUSR

用户读

4

READUSER

S_IWUSR

用户写

2

WRITEUSER

S_IXUSR

用户执行

1

EXECUSER

S_IRGRP

组读

4

READGROUP

S_IWGRP

组写

2

WRITEGROUP

S_IXGRP

组执行

1

EXECGROUP

S_IROTH

其他用户读

4

READOTHER

S_IWOTH

其他用户写

2

WRITEOTHER

S_IXOTH

其他用户执行

1

EXECOTHER

这也对应了我们常见的chmod 755, 上面的表格可以分成三组, 每组最大值为7,表示读写执行权限. 下面用C代码来看看具体值:

#include <stdio.h> #include <sys/stat.h> /* S_IRUSR: 使用者读权限, READ USER 4 S_IWUSR: 使用者写权限, WRITE USER 2 S_IRGRP: 组用户读权限, READ GROUP 4 S_IROTH: 其他用户读权限, READ OTHER 4 */ int main(int argc, char const *argv[]) { printf( "S_IRUSR, S_IWUSR, S_IRGRP, S_IROTH=%o, %o, %o, %o, (S_IRUSR | S_IWUSR " "| S_IRGRP | S_IROTH)=%o\n", S_IRUSR, S_IWUSR, S_IRGRP, S_IROTH, (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)); return 0; }

结果:

S_IRUSR, S_IWUSR, S_IRGRP, S_IROTH=400, 200, 40, 4, (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)=644

以上就是Unix与Linux文件权限的含义是什么的详细内容,更多请关注主机测评网其它相关文章!

阅读剩余
THE END