您的位置:首页 > 运维架构 > Linux

linux的用户、用户组与文件操作权限

2015-11-05 12:59 441 查看
接触一个操作系统,首要关心的就是什么样的用户有怎样的文件操作权限。这个问题解决了,你使用这个系统就没那么多困扰了。

操写权限就是读(Read)、写(Write)、执行(eXecute),对于文件而言,RWX意义如下表所示。

权限意义
R可以通过ls看到文件名,但要用cat命令看到文件内容还需要X权限。
W可以修改文件中内容并保存。
X一般文件可以看内容,如果是可执行文件,便可以执行该文件功能。
对于目录(文件夹)而言,RWX意义如下表所示。

权限意义
R可以看到目录名,可以用ls列表出目录中的内容,但要用cd进入目录得需要X权限。
W可以在目录中进行添加、删除文件或子目录的操作。
X可以用cd进入目录。
那么linux下,如何将某个目录或文件的RWX配置给用户呢?

linux对RWX的分配是分三类用户分别考虑的,如下表。

用户种类意义
单用户给单个用户指配权限。
用户组给属于某个用户组的用户们指配权限。[注:一个用户必属于一个或多个用户组]
其它给不符合以上两行描述的用户们指配权限。
通过上表得知,一个文件或目录肯定要有关联的那三类用户,下面的指令用于为一个目录或文件关联那三类用户。

chown -R 单用户:用户组 文件或目录


其中-R为可选项,表明将目录中的所有文件、子目录权限都如此设定,如果没这个需求,可以不要-R。

比如要将目录/var/tmp及其子目录、文件都关联给userA和groupA,就这样写。

chown -R userA:groupA /var/tmp


OK,这只是把用户和文件、目录关联上了,还没确定用户究竟有什么权限能做什么操作呢。下面的命令是做这个活儿的。

chmod -R ??? 文件或目录


其中???是关键,这是个三位权限码,左边代表给单个用户的权限,中间是给用户组的权限,右边是给其他用户的权限。每一位的使用模式都是一样的,如下所术:

系统已约定好R=4,W=2,X=1,那么各种权限的组合就是这些值相加,如下表


权限组合计算方法
无任何权限00+0+0
R44+0+0
W20+2+0
X10+0+1
RW64+2+0
RX54+0+1
WX30+2+1
RWX74+2+1
继续上面的例子,如果要userA拥有RW权限,groupA拥有WX权限,其它用户仅有R权限,可以这样写。

chmod -R 634 /var/tmp


这就是我所理解的linux的用户、用户组与文件操作权限,如有异议,欢迎交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: