快速业务通道

Linux下文件及目录权限二、特殊权限

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-14
文件或目录的特殊权限有三种: 一、 Suid:用字母 s 表示.可执行程序不管执行者是谁,都能够以其拥有者的身份去运行.(有安全隐患,慎用)占用属主权限部分的一位即x位,如果文件原来设有x位则加了suid后用小写的s表示,否则用S表示.注意:suid权限对目录无效.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 例如ls命令的原始权限是下面这样(属主有x权限) -rwxr-xr-x 1 root root 81240 Oct 4 2006 ls 执行:# chmod u s ls 后权限变成下面这样(小写s) -rwsr-xr-x 1 root root 81240 Oct 4 2006 ls
如果像上面那样对ls命令加上了suid权限,带来的后果是普通用户可以使用ls命令查看任何目录的任何文件的信息.包括普通用户原来无法查看的/root目录.
如果对fdisk命令设置了suid权限将使所有用户都能对磁盘分区,如果对service命令设置了suid将使所有用户都能管理系统服务.慎用! # ls -l |grep ^...s 该命令可以找出当前目录下所有被设置了suid的文件. 可以使用 $ chmod u s /bin/ls 为可执行程序增加suid权限;也可以使用 $ chmod 4xxx 命令 其中x表示的是可执行程序的普通权限.
二、Sgid:程序不管理执行者是谁,都能够以其属组的身份去运行.如果SGID被设置在目录上,在该目录内新建的文件或目录的属组,将会是此目录的属组. (不常用)占用属组权限的x位. 例如: -rwxr-sr-x 1 root tty 10124 Apr 11 2007 /usr/bin/wall wall 命令就是被设置的sgid的,这会使不管使用wall发信息的用户是谁,都将以tty组的权限发送. 可以使用 $ chmod g s 命令给文件或目录加sgid权限. 也可以使用 $ chmod 2xxx 命令其中x表示的是文件或目录的普通权限. 三、Sticky:为了防止在一个完全开放权限的目录里用户之间相互删除对方完全开放权限的文件,可以对该目录设置sticky权限.注意:sticky权限只能对目录生效. 例如:当前用户是bjxh $ cd /tmp $ touch test
$ chmod 777 test
$ su - xhce //换成xhce用户
$ rm /tmp/test

rm: cannot remove `/tmp/aa'': Operation not permitted
可以使用 $ chmod o t /test 给test目录加上sticky权限 也可以使用 $ chmod 1xxx 命令 其中x表示的是目录的普通权限.
有的时候为了增加系统的安全性,会用到 chattr命令. # chattr i fileA //不允许文件被做任何改变,如改名,增加数据. # chattr a dir //只允许在目录里新加数据,不允许删除 查看用chattr设置的权限,要用 lsattr 命令,可以加上 -a 表示查看隐藏文件的设置; -R递归查看目录下所有文件的子目录设置. 更多用法参考 # man chattr.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号