操作员、生产人员和最终用户通常需要执行只有超级用户才能执行的任务。
传统的解决方案是向所有这些用户提供超级用户密码,这会危及到站点的安全。 安全的替代方法(即保持密码的保密性)会使系统管理员因处理用户要执行例行任务的合法请求而导致负担过重。
Surrogate DO (sesudo) 实用程序解决了这个难题。 它允许用户执行 SUDO 类(其中每条记录包含一个脚本)中定义的操作,指定哪些用户和组可以运行脚本,以及基于这一目的借给他们必要的权限。
例如,要定义启动“后台打印程序”服务的 SUDO 资源(就好像用户为系统一样),请输入以下 selang 命令:
newres SUDO StartSpooler data("net start spooler")
该 newres 命令将 StartSpooler 定义为受保护的操作,某些用户可能获得执行的系统权限。
重要说明! 请在数据属性中使用完整的绝对路径名。 相对路径名可能会意外地执行未受保护的目录中植入的特洛伊木马程序。
此外,通过使用 authorize 命令,可以授权用户执行 StartSpooler 操作。 例如,要允许用户 operator1 启动“后台打印程序”服务,请输入以下 selang 命令:
authorize SUDO StartSpooler uid(operator1)
还可以使用 authorize 命令明确防止用户执行受保护的操作。 例如,要防止用户 operator2 启动“后台打印程序”服务,请输入以下 selang 命令:
authorize SUDO StartSpooler uid(operator2) access(None)
运行 sesudo 实用程序将执行受保护的操作。 例如,输入以下命令后,用户 operator1 即可启动“后台打印程序”服务:
sesudo -do StartSpooler
sesudo 工具首先检查是否授权用户执行 SUDO 操作,然后,如果授权用户使用资源,则执行资源中定义的命令脚本。 在我们的示例中,sesudo 检查是否授权 operator1 执行 StartSpooler 操作,然后使用系统凭据调用命令“net start spooler”。
注意:有关 sesudo 实用程序的详细信息,请参阅《参考指南》。
版权所有 © 2013 CA。
保留所有权利。
|
|