- 论坛徽章:
- 0
|
根据我的理解,做了下面的实验:
在数据库/etc/security/exec_attr中插入:
shut:suser:cmd:::/usr/sbin/shutdown:uid=0
在数据库/etc/security/prof_attr中:
shut:::It is for a account to shutdown the system:
在数据库/etc/user_attr中:
shut_role::::type=role;profiles=shut
执行useradd 命令:
#useradd –m –d /export/home/usera –s /bin/ksh –R shut_role usera
以usera的身份登录。
#su sole_shut
#/usr/sbin/shutdown
根据http://www.oldlinux.org/cgi-bin/ ... pic=37&postno=4
这时进程的uid=0,euid=0,suid=0 因为euid=0,所以该进程具有root的权限,所以命令可以执行,实验结果确实如此。
但是把数据库/etc/security/exec_attr的内容修改为:
shut:suser:cmd:::/usr/sbin/shutdown:euid=0
再次执行/usr/sbin/shutdown命令,进程的uid=100(usera的uid),euid=0,suid=0,因为进程的权限由euid确定,所以命令应该能执行,但结果相反,不能运行shutdown命令。
不知我上面的分析是否有道理,请您指教,谢谢! |
|