文件和目录权限命令、更改所有者和所属组chown、命令umask、隐藏权限lsattr/chattr…

  • Post author:
  • Post category:其他


1.命令chown

chown (change owner的简写)命令可以更改文件的所有者,其格式为:chwn [-R] 账户名 文件名或者hown (-R)账户名:组名 文件名。

-R:只适用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。示例命令如下:

2..命令chmod

命令chmod(change mode的简写)用于改变用户对文件/目录的读写执行权限,其格式为:chmod [-R] xyz文件名(这里的xyz表示数字)。

-R=chown -R 表示级联更改。目录的默认权限为755,文件的的默认权限为644.举例如下:

创建目录其他人看不到,权限设置成rwxr—–(740)。

使用u、g、o来分别表示user、group和others的属性,用a代表all(全部)。举例如下:

这样可以把dir3/test3的文件权限修改为rwxr-xr-x.可以针对u、g、o和a,增加或者减少它们的某个权限(读、写或执行)。

2.命令umask

命令umask用于改变文件的默认权限,其格式为:umask xxx (这里的xxx代表3个数字)。

这里umask的预设值是0022.

两条规则:

若用户建立普通文件,则预设没有可执行权限,只有r、w两个权限,最大值为666(-rw-rw-rw-)。

若用户建立目录,则预设所有权限均开放,即777(drwxrwxrwx)。

umask数值代表的含义为以上两条规则中的默认值(文件666,目录777)需要减掉的权限,所以:

目录的权限为rwxrwxrwx- —-w–w-=rwxr-xr-x

普通文件的权限为rw-rw-rw- – —-w–w=rw-r–r–

umak的值是可以自定义的,比如设定为002,你再创建目录或者文件时,默认权限分别为:

rwxrwxrwx- ——-w-=rwxr-xr-x(目录的权限)

rw-rw-rw- ——-w-=rwxr-xr-x(文件的权限)

示例命令如下:

这里我们可以看到创建的目录权限变为775,而文件的默认权限为664.把umask改回来,具体方法如下:

3.命令chattr

命令chattr(change attribute)的格式为:chattr [+==] [ASaci] [文件或者目录名],其中,+、-和=分别表示增加、减少、和设定。各个选项的含义如下。

A:增加改属性后,表示文件或目录的atime将不可修改。

s:增加改属性后,会将数据同步写入磁盘中。

a:增加改属性后,表示只能追加不能删除,非root用户不能设定该属性。

c:增加改属性后,表示自动压缩该文件,读取时会自动解压。

i:增加改属性后,表示文件不能删除、重命名、设定链接、写入以及新增数据。

常用的选项为a和i这两个选项。

上例中,给dir2目录增加i权限后,即使是root账户,也不能在dir2目录中创建或删除test5文件。

a权限的作用,示例命令如下:

上例中,dir2目录增加a权限后,只可以在里面创建文件,而不能删除文件。

文件同样适用以上权限,示例命令如下:

4.命令lsattr

lsattr(list attribute),该命令用于读取文件或者目录的特殊权限,其格式为:lsattr [-aR] [文件/目录名]。

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

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


转载于:https://my.oschina.net/u/3866192/blog/1825443