使用consolehelper獲得root權限
此頁由 Linux Wiki用戶Chenxing 於 2008年7月2日 (星期三) 07:23 的最後更改。
從 Linux Wiki
提示:此文已超过 16 年(5987 天)未更新,如发现内容过时或有误,欢迎改进:)
在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
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。