Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->发行版专区 ->Redhat ->正文

RedHat中让普通用户安全执行管理员程序

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

RedHat Linux是这样来处理的,现在新版本的具体是如何的大家可以参考下发行的文档。本方法可能在其它Linux版本中是不通用的。

在多人共用一台电脑或管理局域网时,常常会遇到这种情况:普通用户必须执行某个命令,比如关机。但普通用户却不具备足够的权限,而出于隐私和安全的考虑我们又不希望把root密码告诉别人。

有两种方法可以解决这一问题。

第一种方法是设置命令文件的suid,可以使普通用户以此文件的拥有者的身份运行该程序,具体命令为 chmod u+s file ,file为你想让别人执行的文件。还可以设置guid,让用户以文件所属组的身份运行程序,命令为 chmod g+s file。

第二种方法是使用sudo程序,它可以使某个用户以特定的身份去运行程序,当然也能以root身份去运行,它相比第一种方法更安全也便于维护。在 RedHat发行版的光盘里就有这个工具。使用方法为,在终端中输入visudo编辑sudoers文件,在空白处添加以下四行:

  Host_Alias MYHOST=localhost

  User_Alias MYUSER=A的用户名,B的用户名

  Cmnd_Alias MYFILE=A和B要运行的程序路径

  MYUSER MYHOST=NOPASSWD:MYFILE

注意大小写,以后要增加新的程序或用户时,直接更改前三行即可。如果要让某个不知道root密码的用户具有全部权限,除了运行某些危险程序(如格式化),只需增加:

  Cmnd_Alias DANGER=危险程序的路径

  C的用户名 ALL=(ALL) NOPASSWD:ALL,!DANGER

设置完成后,和vi一样保存退出,编辑器会自动检查你的语法是否正确,如果出错按 e 可以回去修改。然后该用户即可以“sudo+空格+某命令”的格式运行具体命令了。

()

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Redhat下搞定红外线/GPRS/WAP代理上网   下一篇:在RedHat环境手工建立Tunnel支持IPv6

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号