Linux的特殊文件权限

来源:互联网 发布:淘宝要食品流通许可证 编辑:程序博客网 时间:2024/06/01 15:55

今天在看书的时候发现之前一直忽略的一个概念,是关于linux的特殊文件权限,今天正好有时间,来分析一下。

经常我们会看到有以下这些特殊权限:(节选自http://blog.chinaunix.net/uid-25052030-id-174343.html 中的一段)

s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。

s或S(SGID,Set GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。

T或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

因为SUID、SGID、Sticky占用x的位置来表示,所以在表示上会有大小写之分。加入同时开启执行权限和SUID、SGID、Sticky,则权限表示字符是小写的:

-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

如果关闭执行权限,则表示字符会变成大写:

-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf

如果要加上特殊权限,就必须使用4位数字才能表示。特殊权限的对应数值为:
s或 SUID):对应数值4
s或 SGID):对应数值2
t或 :对应数值1

对于这种权限我们必须得注意,尤其是S权限,我们有必要对系统内的所有的S权限进行一下审核,并做适当的调整。

1. 查找系统中所有含有‘s'位的程序

find / -type -perm -4000 -o -perm -2000 -print | xargs ls -al

对于这些文件,我们有必要将他们的s去掉

2.检查系统中所有suid和sgid文件

find / -user root -perm -2000 -o -perm 4000 -print

3.还有一种文件是没有属主的文件,也需要我们去除相应的权限

find / -nouser -o -nogroup

4.对于系统的重要文件,需要使用chattr来提高其安全性

chattr -R +i /bin /boot /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/bin
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/hosts
chattr +i /etc/resolv.conf
chattr +i /etc/fatab
chattr +i /etc/sudoers

chattr +a /var/log/messages
chattr +a /var/log/wtmp


chattr +a /var/log/messages
chattr +a /var/log/wtmp

另外补上另外两个重要命令lsattr, chattr

通过chattr设置档案的隐藏权限。
  [root]#chattr --help
  Usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...
  
  参数或选项描述:
  -R:递归处理,将指定目录下的所有文件及子目录一并处理。
  -V:显示详细过程有版本编号。
  -v:设定文件或目录版本(version)。
  + :在原有参数设定基础上,追加参数。
  - :在原有参数设定基础上,移除参数。
  = :更新为指定参数设定。
  A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
  S:硬盘I/O同步选项,功能类似sync。
  a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。
  c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
  d:即no dump,设定文件不能成为dump程序的备份目标。
  i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
  j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
  s:保密性地删除文件或目录,即硬盘空间被全部收回。
  u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.


0 0
原创粉丝点击