文件权限
st_mode |
含义 |
八进制值 |
英文注记 |
S_IRUSR |
用户读 |
4 |
READ USER |
S_IWUSR |
用户写 |
2 |
WRITE USER |
S_IXUSR |
用户执行 |
1 |
EXEC USER |
S_IRGRP |
组读 |
4 |
READ GROUP |
S_IWGRP |
组写 |
2 |
WRITE GROUP |
S_IXGRP |
组执行 |
1 |
EXEC GROUP |
S_IROTH |
其他用户读 |
4 |
READ OTHER |
S_IWOTH |
其他用户写 |
2 |
WRITE OTHER |
S_IXOTH |
其他用户执行 |
1 |
EXEC OTHER |
这也对应了我们常见的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)=%on", 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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END