欢迎来到天天文库
浏览记录
ID:25623817
大小:46.50 KB
页数:12页
时间:2018-11-21
《unix和linux系统suid与sgid的重点分析范文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。 设置文件权限位时我们一般忽略了suid/guid的存在,现在看看它们到底是怎么回事。suid/guid是什么?suid意味着如果A用户对属于他自己的shell脚本文件设置了这种权限,那么其他用户在执行这个脚本的时候
2、就拥有了A用户的权限。所以,如果root用户对某一脚本设置了这一权限的话则其他用户执行该脚本的时候则拥有了root用户权限。同理,guid意味着执行相应脚本的用户则拥有了该文件所属用户组中用户的权限。为什么使用suid/guid?举个例子:要对数据库系统进行备份需要有系统管理权限,那么我可以写几个脚本,并设置了它们的guid,这样我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户
3、的权限。有相当一些命令也设置了suid和guid。如果想找出这些命令,可以进入/bin或/sbin目录,执行下面的命令:$ls-l
4、grep'^...s'上面的命令是用来查找suid文件的;$ls-l
5、grep'^...s..s'上面的命令是用来查找suid和guid的。如何设置suid/guid?如果希望设置suid,那么就将相应的权限位之前的那一位设置为4;如果希望设置guid,那么就将相应的权限位之前的那一位设置为2;如果希望两者都置位,那么将相应的权限位之前的那一位设置为4+2。一旦设置了这一位,一个s将出现在x的位置上。记住:在设置suid或gu
6、id的同时,相应的执行权限位必须要被设置。例如,如果希望设置guid,那么必须要让该用户组具有执行权限。如果想要对文件login设置suid,它当前所具有的权限为rwxrw-r--专业知识整理分享WORD格式可编辑(741),需要在使用chmod命令时在该权限数字的前面加上一个4,即chmod4741,这将使该文件的权限变为rwsrw-r--。$chmod4741login还可以使用符号方式来设置suid/guid。如果某个文件具有这样的权限:rwxr-xr-x,那么可以这样设置其suid/guid:chmodu+schmodu+g7、ilename>一、UNIX下关于文件权限的表示方法和解析SUID是SetUserID,SGID是SetGroupID的意思。 UNIX下可以用ls-l命令来看到文件的权限。用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x。下面解析一下格式所表示的意思。这种表示方法一共有十位: 9876543210-rwxr-xr-x第9位表示文件类型,可以为p、d、l、s、c、b和-:p表示命名管道文件d表示目录文件l表示符号连接文件-表示普通文件s表示socket文件c表示字符设备文件b表示块设备文件 第8-6位、5-3位、2-0位分别表示文件所有者的8、权限,同组用户的权限,其他用户的权限,其形式为rwx:专业知识整理分享WORD格式可编辑 r表示可读,可以读出文件的内容w表示可写,可以修改文件的内容x表示可执行,可运行这个程序没有权限的位置用-表示例子:ls-lmyfile显示为:-rwxr-x---1foostaff7734Apr0517:07myfile 表示文件myfile是普通文件,文件的所有者是foo用户,而foo用户属于staff组,文件只有1个硬连接,长度是7734个字节,最后修改时间4月5日17:07。 所有者foo对文件有读写执行权限,staff组的成员对文件有读和执行权限,其他的用户9、对这个文件没有权限。 如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户的权限的可执行位上。例如:1、-rwsr-xr-x表示SUID和所有者权限中可执行位被设置 2、-rwSr--r--表示SUID被设置,但所有者权限中可执行位没有被设置 3、-rwxr-sr-x表示SGID和同组用户权限中可执行位被设置 4、-rw-r-Sr--表示SGID被设置,但同组用户权限中可执行位没有被社 专业知识整理分享WORD格式可编辑其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是 1,表示有相应的权限:11109876543210、10SGTrwxrwxrwx第11位为SUID位,第10位为SGI
7、ilename>一、UNIX下关于文件权限的表示方法和解析SUID是SetUserID,SGID是SetGroupID的意思。 UNIX下可以用ls-l命令来看到文件的权限。用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x。下面解析一下格式所表示的意思。这种表示方法一共有十位: 9876543210-rwxr-xr-x第9位表示文件类型,可以为p、d、l、s、c、b和-:p表示命名管道文件d表示目录文件l表示符号连接文件-表示普通文件s表示socket文件c表示字符设备文件b表示块设备文件 第8-6位、5-3位、2-0位分别表示文件所有者的
8、权限,同组用户的权限,其他用户的权限,其形式为rwx:专业知识整理分享WORD格式可编辑 r表示可读,可以读出文件的内容w表示可写,可以修改文件的内容x表示可执行,可运行这个程序没有权限的位置用-表示例子:ls-lmyfile显示为:-rwxr-x---1foostaff7734Apr0517:07myfile 表示文件myfile是普通文件,文件的所有者是foo用户,而foo用户属于staff组,文件只有1个硬连接,长度是7734个字节,最后修改时间4月5日17:07。 所有者foo对文件有读写执行权限,staff组的成员对文件有读和执行权限,其他的用户
9、对这个文件没有权限。 如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户的权限的可执行位上。例如:1、-rwsr-xr-x表示SUID和所有者权限中可执行位被设置 2、-rwSr--r--表示SUID被设置,但所有者权限中可执行位没有被设置 3、-rwxr-sr-x表示SGID和同组用户权限中可执行位被设置 4、-rw-r-Sr--表示SGID被设置,但同组用户权限中可执行位没有被社 专业知识整理分享WORD格式可编辑其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是 1,表示有相应的权限:111098765432
10、10SGTrwxrwxrwx第11位为SUID位,第10位为SGI
此文档下载收益归作者所有