consolehelper

consolehelper

通常是 fedora 系列发行版的做法,使用 consolehelper,可以让经过授权(见 PAM)的普通用户以root权限执行程序。以 brasero (光驱刻录软件)为例:

  1. 把源程序改名为 brasero.normal , 创建一个链接 brasero 到源程序
  2. 创建 /etc/pam.d/brasero 文件
  3. 创建 /etc/security/console.apps/brasero 文件
[root@localhost ~]# ll /usr/bin/brasero*
lrwxrwxrwx 1 root root     22 06-24 23:37 /usr/bin/brasero -> /usr/bin/consolehelper
-rwxr-xr-x 1 root root 950656 06-24 23:36 /usr/bin/brasero.normal
[root@localhost ~]# cat /etc/pam.d/brasero
#%PAM-1.0
auth            include         config-util
account         include         config-util
session         include         config-util
[root@localhost ~]# cat /etc/security/console.apps/brasero
. config-util
PROGRAM=/usr/bin/brasero.normal
SESSION=true