Linux学习随笔——文件权限

发布时间 2023-11-25 20:27:39作者: wonwoo

一、基本权限UGO

U:属主;G:属组;O:其他用户;

r:read(读取),数字设定为4;

w:write(写入),数字设定为2;

x:execute(执行),数字设定为1;

使用ll命令查看文件属性,如下例子,忽略第一个“-”,前面3个字符表示属主的权限,中间3个表示属组的权限,后面3个表示其他用户的权限;

-rw-r--r-- (表示属主权限为读写6,属组权限为读取4,其他用户权限为读取4;

设置文件属性及权限

下面为三个常用的修改权限命令:

chown:修改文件属主、属组;

chgrp:修改文件属组;

chmod:修改文件权限;

使用chown将文件属主改为qfedu:

chown qfedu file

修改属主的同时也可修改属组,只需在属主与属组之间加入“。”(建议用“。”)或“.”:

chown qfedu。linux file

若只需更改文件属组而不该改属主,使用chgrp命令即可:

chgrp linux file

在chown和chgrp命令后添加“-R”参数可将某目录下的所有子目录或文件同时修改属主或属组:

chown -R qfedu:linux dir1/

使用chmod修改文件权限,有2种设置方式:符号、数字:

1.符号修改权限:u g o;a代表全部身份;r w x;

chmod u+x file:给属主添加执行权限;

chmod g-r file:给属组删除读取权限;

chmod a=rwx:同时给所有对象添加读、写、执行权限;

chmod a=-:同时删除所有对象的全部权限;

2.数字修改权限:4 2 1;rwx=4+2+1=7、rw-=4+2=6、---=0+0+0=0;

chmod 777 file:给所有对象添加全部权限;

chmod 000 file:删除所有对象的全部权限;

chmod与chown的区别:

chown是Linux系统中用来改变某个文件属性的命令;

chmod是Linux系统中用来改变某个文件的访问模式的命令;

二、基本权限ACL

 

1.ACL基本用法

getfacl:该命令可以查看ACL权限;

getfacl file

setfacl:该命令可以设置ACL权限,添加-m参数可以修改当前文件ACL权限,添加-x参数可以删除用户对文件地所有权限,添加-b参数可以删除所有扩展ACL权限回到UGO的基本权限,用ll查看文件时权限字符最后出现+号说明该文件含有ACL权限;

setfacl -m u:zm:rwx file(表示修改用户zm的权限为rwx)

setfacl -x u:zm file

setfacl -b file

2.ACL高级特性

a.最大有效权限mask

mask用来指定最大有效权限,系统给用户赋予的ACL权限需要和mask的权限逻辑相与,相与之后的权限才是用户的真正权限;

mask并不能影响到所有用户;

mask能降低用户或组(除owner和other)的权限,而不是“setfacl -b”命令删除所有权限;

只要有任何ACL设置权限,mask会自动还原;

b.default继承

使用default命令可以继承上一个目录的权限,添加“d”参数即可;

setfacl -m d:u:zm:rwx file