歡迎您光臨本站 註冊首頁

Fedora8下的gksu——consolehelper

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

  作者:黑殿

  你可能已經注意到了,在我們以普通用戶登錄運行一些系統程序時,系統會彈出對話框讓你輸入root用戶的密碼,比如:Yumex就會這樣做。在UBUNTU下可以用gksu+命令來實現,但是Fedora8沒有這個軟體。我去GKSU的官網看過,他們也沒有提供for Fedora8的包。(只有For fedora4的,但是那個安好了也用不了)。還有KDE的桌面環境可以用KDESU,這個我沒試過。

  但是gksu並不是GNOME的一部分,並不是官方所支持的。可能有些安全隱患吧……所以Fedora8下沒有gksu。
那我們在訪問系統程序時,確實能看到彈出對話框來讓我們輸入root密碼,Fedora是怎麼實現的呢?

  Fedora下有個叫consolehelper的東東就是用來做這個事的。

  你可以用man命令來查看下用法,不過我感覺那個MAN里說的不是太詳細,所以在一堆googling之後,準備寫一點關於這個consolehelper用法的東西,廢話不說了,進入正題!

  目標:製作root許可權的nautilus,通過圖標點擊,然後彈出對話框,提示用戶輸入密碼,確認后獲得root許可權的nautilus。Setp1.創建一個consolehelper的軟鏈接:

  ln -s /usr/bin/consolehelper /usr/local/bin/root_nautilus

  Setp2.進入/etc/pam.d/,新建一個叫root_nautilus的文件

  vi /etc/pam.d/root_nautilus

  在文件內放入以下內容:
QUOTE:
#%PAM-1.0
auth include config-util
account include config-util
session include config-util

  Setp3.進入/etc/security/console.apps/下,建立文件root_nautilus

  vi /etc/security/console.apps/root_nautilus

  並輸入以下內容:
QUOTE:
USER=root
PROGRAM=/usr/bin/nautilus #這個就是你要以root許可權運行的程序名
SESSION=true

  Setp4.vi /usr/share/applications/root_nautilus.desktop

  然後輸入:
QUOTE:
[Desktop Entry]
Encoding=UTF-8
Name=Root File Manager
GenericName=Nautilus
Categories=Application;System;X-Red-Hat-Base
Comment=Launches Nautilus As Root
Icon=password.png
Exec=/usr/local/bin/root_nautilus --browser
Type=Application
Terminal=false

  Setp5.在應用程序里的系統工具里就可以找到你建立的快捷方式了。運行它看看效果吧!

  PS:你也可以在桌面建立快捷方式,內容就填root_nautilus --browser。

  有個需要特別注意的地方是,應用程序的參數應該加在快捷方式里,而不是加在/etc/security/console.apps/root_nautilus里。網上我找的所有文章都說是加在/etc/security/console.apps/root_nautilus里,可能是由於版本變化的原因吧。其實這樣的改進更優秀,因為你不必再為不同的參數配置不同的文件,你只需要建不同的快捷方式就行了!

[火星人 ] Fedora8下的gksu——consolehelper已經有551次圍觀

http://coctec.com/docs/linux/show-post-167848.html