您当前所在位置:首页linuxUnix与Linux文件权限的含义是什么

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

更新:2024-04-28 17:51:24编辑:dashuai归类:linux人气:86

文件权限

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代码来看看具体值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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;
}

结果:

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


我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

linux
Linux进程权限管理的方法 linux中的管道与重定向是什么