[url]http://hi.baidu.com/wwwyuezhili/blog/item/8e6310cbf6ea13fe52664f8b.html[/url]
更新extman_password的时候发现这个文件的权限和其他文件不一样,有s,还有t
第一个S是SUID,第二个S是SGID.第三个t是防删除位.
#wget [url]http://www.yiyou.org/upload/perl/reset_extman_passwd.pl[/url]
#chmod 7555 reset_extman_passwd.pl
-r-sr-sr-t   1 root root 2.2K Sep 26 18:40 reset_extman_mysql_passwd.pl.old
-r-sr-sr-t   1 root root 1.5K Dec 15 18:18 reset_extman_passwd.pl
r(Read,读取)
w(Write,写入)
x(eXecute,执行)
S(SUID,Set UID)
T(Sticky)
Set UID(SUID)会创建s与t权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限。
" Set GID
进一步而言,如果s的权限是在用户组,那么就是Set GID,简称为SGID。SGID可以用在两个方面。
文件:如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候,它的有效用户组(effective group)将会变成该程序的用户组所有者(group id)。
目录:如果SGID是设置在A目录上,则在该A目录内所建立的文件或目录的用户组,将会是此A目录的用户组。
一般来说,SGID多用在特定的多人团队的项目开发上,在系统中用得较少。
" Sticky Bit
这个Sticky Bit当前只针对目录有效,对文件没有效果。SBit对目录的作用是:“在具有SBit的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除”。换句话说:当甲用户在A目录下拥有group或other的项目,且拥有w权限,这表示甲用户对该目录内任何人建立的目录或文件均可进行“删除/重命名/移动”等操作。不过,如果将A目录加上了Sticky bit的权限,则甲只能够针对自己建立的文件或目录进行删除/重命名/移动等操作。
添加如上的权限后7555,则普通用户也可以修改extman的后台密码了.
 
用普通用户执行却报错
Can't do setuid (cannot exec sperl)
 
百度之,说是少了perl-suidperl的包.崩溃.