問題:
打開Fedora 16的系統程序“用戶和群組”時會彈出ROOT密碼框,能否去除?
方案:
1. 增加USER賬戶到wheel分組 (USER表示當前用戶)
2. passwd -d USER (清空密碼)
效果:
運行“用戶和群組”等工具時不再提醒輸入密碼;(如果前面不刪除的話,就只驗證 USER密碼即可獲得權限,不用ROOT密碼)
原理:
system-config-*等工具都需要驗證ROOT權限,它們都是consolehelper的軟鏈接,該程序提供GTK驗證框,然後調用 userhelper (setuid程序)進行PAM驗證,提升權限;這些系統程序都是用默認配置(config-util):
USER=root
UGROUPS=wheel
因此如果當前用戶屬於wheel組,就驗證當前用戶的密碼,即可獲取ROOT權限;
gksu在Fedora16上對應beesu,其實也是個consolehelper的軟連接,它本身什麼都沒干,就是把你要運行的程序名傳給 consolehelper;
passwd一類的命令應該不行,它們好像直接調PAM鑒權的,沒有這個wrap機制;