使用consolehelper获得root权限
此页由Linux Wiki用户Chenxing于2008年7月2日 (星期三) 07:23的最后更改。
出自Linux Wiki
提示:此文已超过 16 年(5989 天)未更新,如发现内容过时或有误,欢迎改进:)
在Fedora和Mandriva等Linux发行版中,并没有配置sudo甚至gksu,但系统管理程序仍可在普通用户的环境中通过询问root密码来提升权限执行。这就是consolehelper的功能。[1]
consolehelper简介
使用consolehelper,可以让经过授权(见PAM)的普通用户以root权限执行程序。以shutdown程序为例[2]:
- 创建软链接 /usr/bin/shutdown -> /usr/bin/consolehelper
- 普通用户执行shutdown时,$PATH中并没有/sbin,故只能执行/usr/bin/shutdown
- 由于软链接的存在,consolehelper被调用,consolehelper调用验证等过程,最终以root身份执行/sbin/shutdown
配置方法
su到root帐户中后,先确定你的程序的程序名,如nautilus-super:
#sudo ln -s /usr/bin/consolehelper /usr/bin/nautilus-super
接着,创建、编辑/etc/pam.d/nautilus-super,内容是:
#%PAM-1.0 auth sufficient /lib/security/pam_rootok.so auth sufficient /lib/security/pam_timestamp.so auth required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_permit.so session optional /lib/security/pam_xauth.so session optional /lib/security/pam_timestamp.so session required /lib/security/pam_limits.so account required /lib/security/pam_permit.so
也可以模仿/etc/pam.d/目录下的其它文件建立pam配置文件。
最后创建、编辑文件/etc/security/console.apps/nautilus-super,内容为:
USER=root PROGRAM=/usr/bin/nautilus SESSION=true
上述配置完成后,普通用户执行nautilus-super就可以以root用户打开文件管理器了。
参考资料
- ↑ http://fedoranews.org/contributors/matt_hansen/nautilus/
- ↑ consolehelper的man文档
- ↑ http://linux.derkeiler.com/Mailing-Lists/Fedora/2005-01/0684.html
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。