linux系统chmod、chown、umask、lsattr、chattr

强颜欢笑 提交于 2020-02-29 17:49:34

一个Linux目录或者文件都会有一个所有者和所属组。所有者是指文件的拥有者,所属组是指这个文件属于哪一个用户组我们可以用ls -l命令来查看这些属性:

其中第3列和第4列中的root就是所有者和所属组

rwxr-xr-x:表示权限位的值。

root root 分别代表文件的所有者,和所属组。那么他们的权限分别是多少呢?只需要把rwxr-xr-x每三个字母切割开来就是了:

root:rwx root用户的权限是可读可写可执行。

root:r-x root组织有读和执行的权限。

other:r-x 其他用户只有读和执行的权限。

r 可读

w 可写

x 可执行

- 不可以

上面这个目录1的权限用数字表示是:755。

一、chmod

chmod用来修改文件的权限位。

使用数字的方法修改权限(建议使用):

chmod还支持使用u、g、o和a来增加或者减少它们的某个权限(读、写或者执行)

另外权限可以这样用数字来表示:

r=4

w=2

x=1

二、chown

可以修改文件的所属者或者所属组。

其格式为:chown  [-R]账户名,文件名或者chown  [-R]账户名:组名    文件名。这里的-R选项只适用于目录,不仅更改当前目录,连目录里的目录或者文件也全部更改

修改文件的所有者:

修改文件的所属组:

同时修改所有者和所属组:

三、umask

umask决定了我们默认建立一个文件或者目录的默认权限。可以改变文件的默认权限格式为:umask xxx(x代表数字)要查看umask的值,只要umask就可看到如下:

查看当前umask:

我们在当前0022的umask下新建目录或者文件的权限是多少?:

可见,文件是644,目录是755。那么,这两组权限是怎么算出来的呢?

正确的算法:

目录:rwxrwxrwx 减去 ----w--w- = rwxr-xr-x。

文件没有执行权限,为rw-r--r--所以就是644了。

四、lsattr,chattr

lsattr用于读取文件或者目录的特殊权限。

chattr格式:chattr  [+-=][Asaci][文件或者目录名]其中+,-和=分别表示增加,减少,设定。

那么隐藏权限可以用来干嘛呢?比方说,你有一个文件谁都不让动,连root用户都不让动,也就是不让修改,删除等任何操作。这个时候就可以用到隐藏权限。常用的隐藏权限有i和a。

i属性的特征是不让修改,删除,也不能touch。a属性的特征是可以追加和touch,别的操作不允许。

添加i属性:

-a:类似于ls的-a选项,连同隐藏文件一同列出

-R:连同子目录的数据一同列出

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!