<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BizSmooth——企顺学校博客 &#187; suid</title>
	<atom:link href="http://blog.bizsmooth.com/?feed=rss2&#038;tag=suid" rel="self" type="application/rss+xml" />
	<link>http://blog.bizsmooth.com</link>
	<description>企顺学校老师和同学们的交流园地</description>
	<lastBuildDate>Wed, 04 Feb 2026 12:22:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>【连载之四】神秘的SUID/GUID</title>
		<link>http://blog.bizsmooth.com/?p=303</link>
		<comments>http://blog.bizsmooth.com/?p=303#comments</comments>
		<pubDate>Thu, 25 Nov 2010 16:09:00 +0000</pubDate>
		<dc:creator>李 伟斌</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[guid]]></category>
		<category><![CDATA[suid]]></category>
		<category><![CDATA[企顺]]></category>
		<category><![CDATA[权限]]></category>
		<category><![CDATA[连载]]></category>

		<guid isPermaLink="false">http://blog.bizsmooth.org/?p=303</guid>
		<description><![CDATA[在前面连载中曾经提到过suid和guid。这种权限位近年来成为一个棘手的问题。很多系统供应商不允许实现这一位，或者即使它被置位，也完全忽略它的存在，因为它会带来安全性风险。那么人们为何如此大惊小怪呢？ suid意味着如果某个用户对属于自己的shell脚本设置了这种权限，那么其他用户在执行这一脚本时也会具有其属主的相应权限。于是，如果root用户的某一个脚本设置了这样的权限，那么其他普通用户在执行它的期间也同样具有根用户的权限。同样的原则也适用于guid，执行相应脚本的用户将具有该文件所属用户组中用户的权限。 既然有这样的安全隐患，为何我们还要用这个suid/guid呢？ 为什么要使用这种类型的脚本？这里有一个很好的例子。我管理着我自己构建的blog系统，后台是由MySQL server提供数据库服务，而对它们进行备份需要有系统管理权限。我写了几个脚本，并设置了它们的guid，这样我指定的一些用户只要执行这些脚本就能够完成相应的工作，而无须以数据库管理员的身份登录，以免不小心破坏了数据库服务器。通过执行这些脚本，他们可以完成数据库备份及其他管理任务，但是在这些脚本运行结束之后，他们就又回复到他们作为普通用户的权限。有相当一些UNIX命令也设置了suid和guid。如果想找出这些命令，可以进入/bin或/sbin目录，执行下面的命令： [root@bizsmooth /bin]# ls -l &#124; grep &#8216;^&#8230;s&#8217; 上面的命令是用来查找suid文件的； [root@bizsmooth /sbin]# ls -l &#124; grep &#8216;^&#8230;s..s&#8217; 上面的命令是用来查找suid和guid的。 现在我们明白了什么是suid，可是如何设置它呢？下面就来介绍这个问题。如果希望设置suid，那么就将相应的权限位之前的那一位设置为4；如果希望设置guid，那么就将相应的权限位之前的那一位设置为2；如果希望两者都置位，那么将相应的权限位之前的那一位设置为4+2。 一旦设置了这一位，一个s将出现在x的位置上。记住：在设置suid或guid的同时，相应的执行权限位必须要被设置。例如，如果希望设置guid，那么必须要让该用户组具有执行权限。 如果想要对文件login设置suid，它当前所具有的权限为rwx rw- r&#8211; (741)，需要在使用chmod命令时在该权限数字的前面加上一个4，即chmod 4741，这将使该文件的权限变为rwsrw-r&#8211;。 [root@bizsmooth /bin ]# chmod 4741 login 这样就可以实现了。你也试试？ 结果应该如下面的这个列表。 命令 结果 含义 chmod &#8230; <a href="http://blog.bizsmooth.com/?p=303">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://blog.bizsmooth.com/?feed=rss2&amp;p=303</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
