Linux文件特殊权限 SUID/SGID/Sticky Bit

http://tech.ddvip.com   2008年01月22日    社区交流

内容摘要:前面一直提到文件的重要权限,就是rwx这3个读、写、执行的权限。但是,怎么 /tmp权限有些奇怪? 还有,/usr/bin/passwd也有些奇怪,怎么回事呢?

  s : 当文件设置了s参数时,它将会从这个硬盘空间完全删除。

  u : 与s相反,当使用u来设置文件时,则数据内容其实还存在磁盘中,可以用来还原删除.

  注意:这个属性设置上,比较常见的是a与i的设置值,而且很多设置值必须要root才能设置。

  范例:

[root@linux ~]# cd /tmp
[root@linux tmp]# touch attrtest
[root@linux tmp]# chattr +i attrtest
[root@linux tmp]# rm attrtest
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted

  # 看到了吗?连root也没有办法删除这个文件。赶紧解除设置。

  [root@linux tmp]# chattr -i attrtest

  这个命令很重要,尤其是在系统的安全性方面。由于这些属性是隐藏的,所以需要用lsattr才能看到。笔者认为,最重要的是 +i属性,因为它可以让一个文件无法被更改,对于需要很高系统安全性的人来说,相当重要。还有相当多的属性是需要root才能设置的。此外,如果是登录文件,就更需要 +a参数,使之可以增加但不能修改与删除原有的数据。将来提到登录文件时,我们再来介绍如何设置它。

  lsattr(显示文件的隐藏属性)

  [root@linux ~]# lsattr [-aR] 文件或目录

  参数:

  -a : 将隐藏文件的属性也显示出来。

  -R : 连同子目录的数据也一并列出来。

  范例:

  [root@linux tmp]# chattr +aij attrtest

  [root@linux tmp]# lsattr

  ----ia---j--- ./attrtest

  使用chattr设置后,可以利用lsattr来查看隐藏属性。不过,这两个命令在使用上必须要特别小心,否则会造成很大的困扰。例如,某天你心情好,突然将 /etc/shadow这个重要的密码记录文件设置为具有i属性,那么,过了若干天之后,突然要新增用户,却一直无法新增。怎么办?将i的属性去掉即可。

责编:豆豆技术应用

正在加载评论...