linux命令之文件系统权限操作常用命令
1. umask:设置权限掩码 语法:umask [参数]
命令说明:umask可以单独使用,可以设置目录与文件的默认权限,默认权限掩码是022,所以默认目录权限是777-022=755,读权限是4,写权限是2,执行权限是1,第一个7是所有者的权限,第二个5是所属组的权限,第三个是其他人的权限,而新建的文件就是666-022=644,
参数说明:你要查看或设置的文件或目录的权限掩码
命令示例:单独使用umask显示为0022,第一个数表示八进制数,可忽略不计,但可以自行设置
如:umask 777
设置完后,你新创建一个文件或目录,会发现没有任何权限的显示
2. chmod:更改文件或目录的权限 语法:chmod [选项][参数]
命令说明:可以自行更改文件或目录的读,写,执行的权限,分别显示为r,w,x,也可用数字代替,r为读权限,数字为4,w为写权限,数字为2,x为执行权限,数字为1,所有的权限为a,也就是7。
常用选项说明:
-R:递归更改目录及之下的所有文件的权限
参数说明:你需要更改的那个文件或者目录的名字
命令示例:比如有一个111的新创建的文件,因为权限掩码的关系,文件默认是666-0222=644,也就是所有者可读可写,所属组和其他人可读,我们要让111变成所有者拥有所有权限,所属组拥有可读可写,其他人没有权限,如下:
chmod 760 /111
用ls -l查看/111可以看到显示为-rwxrw----,第一个‘-’,为文件的类型,显示-就是文件,d就是目录
3. chown:更改文件或目录的所有者的所属组 语法:chown [选项][参数]
命令说明:更改文件或目录的的所有者和所属组,但若是只提供用户名的话,所属组是不会改变的,如果要同时改变所有者和所属组,需要用冒号或者点分开
常用选项说明:
-R:递归更改目录及之下的所有文件的所有者和所属组
参数说明:你需要更改的那个文件或者目录的名字
命令示例:
你当前是root用户,新创一个目录123,那么这个目录的所有者和所属组都为root,我们有个账户为zhang3,要将123目录的所有者和所属组更改为zhang3
chown zhang3:zhang3 123
用ls -l查看跟目录,123的所有者和所属组已经被更改成了zhang3
4. getfacl:查看文件或目录的访问控制列表 语法:getfacl [选项][参数]
命令说明:可以显示你指定的文件或者目录的权限信息并列出来
常用命令选项:
-R:递归显示目录及之下的所有文件的信息
参数说明:你要查看的指定的目录或者文件
命令示例:
查看家目录的信息,getfacl /home
会显示:file:home 文件名
owner:root 所有者
group:root 所属组
user:rwx 所有者权限
group:r-x 所属组权限
other:r-x 其他人权限
5. setfacl:更改设置文件或目录的访问控制列表 语法:setfacl:[选项][参数]
命令说明:getfacl可以查看访问控制列表的信息,而setfacl可以更改这里面的信息,通常这两个命令一起使用
常用选项说明:
-m:更改文件的访问控制列表
-b:删除所有的访问控制列表条目
-x:根据文件中访问控制列表移除条目
-R:递归更改配置目录及之下的所有文件
参数说明:你指定要进行设置的文件或者目录的名字
命令示例:当前有一个名为111的文件,可以先用getfacl查看信息,若需要添加信息。可以
setfacl -m u zhang3:rwx 111 这样在使用getfacl查看,会发现在user这一项下多了一个user:zhang3:rwx
这是添加用户,也可以用g,添加组,注意递归的时候,-R一定要在-m的前面