WEB开发网
开发学院操作系统Linux/Unix 充分发挥 sudo 的作用 阅读

充分发挥 sudo 的作用

 2009-11-26 00:00:00 来源:WEB开发网   
核心提示: 实施限制可以对用户能够运行的命令实施限制,假设有一个名为 dataex 的组,充分发挥 sudo 的作用(8),其成员是 “alpha”、“bravo” 和 “charlie”,现在,一般情况下,把这些主机名放在一个文本文件

实施限制

可以对用户能够运行的命令实施限制。假设有一个名为 dataex 的组,其成员是 “alpha”、“bravo” 和 “charlie”。现在,已经允许这个组运行 sudo 命令 /usr/local/bin/mis_ext *,这里的星号代表传递给脚本的许多参数。但是,如果参数是 import,就不允许用户 “charlie” 执行此脚本。可以使用逻辑否 '!' 操作符设置这种条件。下面是在 sudoers 中的实现方法:

 %dataex rs6000 = (dbmis) NOPASSWD: /usr/local/bin/mis_ext * 
 charlie rs6000 = (dbmis) NOPASSWD: !/usr/local/bin/mis_ext import 

在 visudo 中时,不要以为保存 sudo 条目就会让修改生效;不会的。必须退出 visudo,修改才会生效。

注意,逻辑否操作符条目出现在无限制的条目后面。可以在同一行上应用多个逻辑否条目;只需以逗号分隔它们,比如:

charlie rs6000 = (dbmis) NOPASSWD: /usr/local/bin/aut_pmp * 
 
charlie rs6000 = (dbmis) NOPASSWD: !/usr/local/bin/aut_pmp create, 
!/usr/local/bin/aut_pmp delete, !/usr/local/bin/aut_pmp amend 

提交 sudo 命令

在企业环境中,把 sudo 命令提交给远程主机最好是作为 root 用户使用 ssh 脚本来完成,对于无密码登录,还应该在主机之间交换密钥。我们来看一个示例。对于地理上远程的机器,如果遇到某种硬件问题(磁盘或内存),IBM® 工程师会到现场更换发生故障的硬件。在这种情况下,他们需要有 root 密码才能完成工作。一种实现方法是让工程师必须使用 sudo 访问 root 用户。在工程师访问站点之前告诉他们密码是有好处的。清单 2 演示提交这种配置的一种方法。仔细看看 清单 2,这里使用一个 for 循环包含要提交配置的主机列表。(但是,一般情况下,把这些主机名放在一个文本文件中并使用 while 循环读取它们。)使用 ‘here’ 文档方法建立 sudoers 的备份,然后在 sudoers 中添加下面的条目:

上一页  3 4 5 6 7 8 9  下一页

Tags:充分 发挥 sudo

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接