查看文章 |
[原创]Fedora8下的gksu——consolehelper
2007年12月22日 20:30
你可能已经注意到了,在我们以普通用户登录运行一些系统程序时,系统会弹出对话框让你输入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 在文件内放入以下内容: #%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 并输入以下内容: USER=root PROGRAM=/usr/bin/nautilus #这个就是你要以root权限运行的程序名 SESSION=true Setp4.vi /usr/share/applications/root_nautilus.desktop 然后输入: [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里,可能是由于版本变化的原因吧。其实这样的改进更优秀,因为你不必再为不同的参数配置不同的文件,你只需要建不同的快捷方式就行了! |
最近读者:

