linux命令之文件系统权限操作常用命令

时间:2022-12-10 09:15:09

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的前面