今儿遇到一用户,需要给一个普通用户赋予能够执行以下命令的权限:
/bin/uname
/bin/cat
/bin/ps
/bin/df
/bin/netstat
/sbin/lspci
/sbin/ifconfig
/usr/bin/vmstat
/usr/bin/free
/usr/bin/sar
/usr/bin/iostat
/usr/bin/ipcs

/bin 和 /usr/bin 下的命令好说,都能够支持,/sbin下的命令,是给管理员使用的,所以一般用户是不能够使用的。

普通用户要使用/sbin下的命令,我这儿有几个方法:

1、在root用户模式,执行
ln -s /sbin/lspci /bin/lspci
ln -s /sbin/ifconfig /bin/ifconfig
就是将需要执行的命令,做个链接,添加到 /bin 下,这样,普通用户的环境变量也不用修改。

2、修改用户的 .bash_profile 文件
将 .bash_profile 文件中的
PATH=$PATH:$HOME/bin
修改成
PATH=$PATH:$HOME/bin:/sbin
这样普通用户就有了 /sbin 下的命令权限

3、sudo
还可以使用sudo来实现这种功能,关于sudo 的使用,过几天会专门写个文章来整理下,有需要的可以关注下。