码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 20180412 隐藏权限lsattr_chattr等

时间:2018-04-13 01:20:01      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:特殊权限 linux

 隐藏权限lsattr_chattr

相对于 ls -l 隐藏权限之后就看不到了 同时会根据权限来决定是否可以更改等,可以在很大程度上保护文件。

使用的场景就是完全保护,不让任何人来碰的时候 就使用 chattr +i

chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

“一些相关的选项权限:


a:即append,设定该参数后,只能向文件中追加/添加数据,而不能删除,不能改名字,不能改内容,可以更改时间信息。多用于服务器日志文件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

技术分享图片

技术分享图片

可以发现有一个i权限,这个i权限什么都不能做,连名字都改不了。vi是使用的时候,会产生一个临时文件,实际的修改都是在临时文件上,保存退出的时候,临时文件会覆盖原文件。

技术分享图片

有了i就什么都动不了了,所以如果想修改的话,使用chattr -i 就是将i移除,这个就可以修改了。

技术分享图片


head -n2 file1 >>file2

是把文件1前两行追加到文件2 > 是写进去,替换掉


lsattr可以查看目录本身的 -d  如果不加选项则是查找目录下的子目录以及子文件的权限

chattr 也可以给目录加权限 +i (啥都不可以) 也可以加a(追加)权限,这样就可以在目录下新建文件了  



lsattr 还有一个选项 -R 可以查看子目录以及子目录下的文件权限 -R 递归


总结

chattr +i +a -i -a 

lsattr -R -a(隐藏可以看出来) -d 查看目录





特殊权限 set_uid 普通用户临时拥有所有者的身份 u


技术分享图片

  1. 红色

  2. 前面rws  s是set_uid 权限


技术分享图片

即使是root在密码文件里也是没有任何权限,但是root是超级管理员所以可以有。但是普通用户如何改自己的而密码呢?这样就需要一个权限,set_uid可以让普通用户在执行passwd时候就会临时拥有root的身份,这样就可以临时去改密码。前提是二进制文件比如ls cat 


如何给一个文件授权set_uid权限?

比如一个用户没有查看root文件夹的权限,也就是ls命令权限不够

技术分享图片

这个时候就需要临时给他加一个可以查看root的权限

chmod u+s /usr/bin/ls

技术分享图片

改完ls的权限之后,就可以看root目录了


想去掉这个权限也很简单

chmod u-s /usr/bin/ls 


也可以通过这种模式来写

chmod u = rws 但是这种因为没有x权限所以显示的是S 加上x权限 chmod u+x 即可以正常显示 s

技术分享图片


目录能不能加set_uid权限呢?

可以,但是意义不大



特殊权限 set_gid 普通用户临时获得所有组的权限

作用在组权限位上,相对于set_uid区别是uid是作用于用户。做个实验,把g 加上s 看看颜色变成了什么,同时s在组里

技术分享图片

因为本身这个目录给本组的权限就是可以读可以进入 所以一旦给g赋予了s的权限,其他用户就临时获得了同组的权限

技术分享图片

试着把s权限去掉,就马上看不到了

技术分享图片

技术分享图片


正常情况下,root创建的目录以及文件所属组都是root 但是当使用g+s的时候 set_gid 在目录下面创建子文件,子目录的时候,所属组会跟着父级目录保持一致

技术分享图片


set_gid 不仅可以作用文件也可以作用目录,当作用在文件上的时候跟set_uid的作用是一样的,可以让普通用户临时拥有所属组的身份。

作用在目录上的时候,创建子目录和子文件的所属组和该目录的所属组保持一致。




特殊权限 stick_bit 防止别人删除自己的文件 root除外

技术分享图片

注意它的权限是rwt 防删除位

tmp是一个哪个用户都可以去访问的目录,但是谁的文件谁做主。权限是靠父级目录决定的

要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。

举个例子:

bill用户创建的文件,其他用户可以访问修改但是无法删除

Linux 20180412 隐藏权限lsattr_chattr等

标签:特殊权限 linux

原文地址:http://blog.51cto.com/13691454/2097648

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!