关于liunx文件属性,特殊权限以及进程掩码详解,初学者,小白看过来,保证不迷路

一:文件属性

Chattr命令用来改变文件的属性,语法格式是:chattr +(下面九个属性之一) 文件名;+是增加权限,-去除权限,=指定文件的某项属性;查看chattr属性的命令语法是:lsattr 文件名或者目录名
Chattr属性有以下九个,选项有三个。
a:让文件仅仅只能够追加写入内容
i:在文件中启用这个属性时,我们不能更改,删除或者重命名文件
A:这个属性不允许更新文件的访问时间
c:启用这个属性时,文件在磁盘上会自动压缩。
d:不能使用dump命令备份文件
D:设置文件夹的D属性时,更改会同步保存在磁盘上
e:它表明,该文件使用磁盘上的快的映射扩展
j:设置了这个属性时,文件的数据首先保存在日志中,然后再写入文件。
S:设置了这个属性时,变更或更改会同步到磁盘上
-R 递归地修改文件夹或子文件夹得属性。
-V chattr命令会输出带有版本信息的冗余信息
-f 忽略大部分错误信息
举例,创建一个文件夹file,里面创建一个文件1.txt,使用-R选项为file文件夹赋予i属性,看看能不能删除1.txt和file,下面贴图解释。在这里插入图片描述
去除i权限时可以使用chattr -R -i file,这样就去除了i属性,就可以对其进行删除操作了

二:特殊权限

查看特殊权限的命令是ll 文件名
特殊权限分为三个,即suid,sgid,stick。
当一个目录或文件上加入suid特殊权限时,如过原来目录或文件的属主具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x,suid一般都是针对命令文件使用,执行者将具有该程序所有者(owner)的权限。设置语法是:chmod u+s 文件名;
举例,/root目录是root用户的家目录默认只有root能够进入,我在/root/下创建一个文件1.txt并写入123,给cat命令加一个suid权限,这时普通用户也能够使用cat看到/root/1.txt里面的123.下图示例,使用chmod u-s /usr/bin/cat,解除suid权限

在这里插入图片描述
sgid和suid相同,如过原来目录或文件的属组具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替X,sgid设置语法:chmod g+s 文件名;sgid主要用在目录上,目录下的文件获得该目录属组的权限。去除权限的命令是chmod g-s /tmp/file
举例,创建一个文件夹file,创建两个用户a,test1,一个属组jishu,更改file的属组为jishu,将属组权限设置为6,为file设置sgid权限,,a用户创建1.txt文件test1用户创建2.txt,切换用户,看看a能不能对2.txt做出修改,可以说明sgid设置成功,下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在1.txt对属组没有任何权限的情况下,test1用户成功的对a用户创建的文件1.txt进行了添加内容和查看内容,这表明sgid设置成功了。、
stick是针对others来设置的, 只针对目录有效,对于目录的作用是:当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。语法格式是:chmod o+t 目录名,去除是chmod o-t 目录名
给file添加stick权限后,用test1用户创建一个文件2.txt,切换用户a进行删除,就会发现删除不了,所示下图。
在这里插入图片描述

三:进程掩码umask

当新建文件、目录的时候,默认权限会受到umask的影响,umask表示要减掉的权限,默认值为0022,第一个0表示特殊权限,第二个0表示属主权限(u),第三个2表示属组权限(g),第四个2表示其他人权限(o),第一个0一般不做过多关注,主要关注ugo三个权限。
目录文件的ugo默认权限是755,满权限是777,减去022正好得到755
在这里插入图片描述
文件得默认权限时644,这是因为文件给予执行权限需要慎之又慎,所以系统再初始就直接把执行权限1给减去了,等于说是在减去022的基础上在减去111得出最终权限是644.

修改mask值得方法是umask 三位具体数值(最高为7),比如我修改umask 000,目录的默认目录权限是777,文件的权限是666,如下图所示

在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值