chmod

chmod 除了可以用数字代替rwx来设置权限之外,还支持使用rwx的方式来设置权限

目录或者文件的权限属性一共有三组,分别属于user、group、others,在使用的时候用u,g,o来分别代表这三群,除此之外,还可以用a(all)来代表全部的三群

一个文件设置成 rwxrw-r- (764)这样的权限,使用这种方式改变权限的命令为

chmod u=rwx,g=rw,o=r 文件名

image-20210110134023001

还可以针对u, g, o, a增加或者减少某个权限(读,写,执行),例如

image-20210110134257727

umask

在默认情况下,目录权限值为766,普通文件权限值为644

umask语法: umask xxx (这里的xxx代表三个数字)

查看umask值只要输入umask然后回车。 umask预设是0022

image-20210110140016703

先看一下规则:

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

所以目录的权限为(rwxrwxrwx) – (----w--w-) = (rwxr-xr-x)

image-20210110140201307

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

image-20210110140547217

umask的值是可以自定义的,比如设定umask 为 002,你再创建目录或者文件时,默认权限分别为(rwxrwxrwx) – (-------w-) = (rwxrwxr-x)(rw-rw-rw-) – (-------w-) = (rw-rw-r--)

image-20210110140647353

umask 可以在/etc/bashrc里面更改,预设情况下,root的umask为022,而一般使用者则为002,因为可写的权限非常重要,因此预设会去掉写权限

chattr

chattr修改文件的特殊属性

语法: chattr [+-=][ASaci [文件或者目录名]

参数:+ - = R :分别为增加、减少、设定、递归处理

A:增加该属性后,文件或目录的atime将不可被修改;

S:增加该属性后,会将数据同步写入磁盘中;

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

c:自动压缩该文件,读取时会自动解压;

i:增加后,使文件不能被删除、重命名、设定连接、写入、新增数据;

增加i属性后不能在该目录中建立文件

增加a属性后,只能追加不能删除

chattr 的属性是级联生效的,不仅对当前目录生效而且会对目录下的文件同样生效。

lsattr

列出文件/目录的特殊属性

语法: lsattr [-aR] [文件/目录名]

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

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

image-20210110143109580

最后修改:2021 年 01 月 10 日
如果觉得我的文章对你有用,请随意赞赏