4.4. 使用 IdM API 命令管理 sudo 规则
以下示例显示了如何使用 IdM API 命令管理 sudo 规则的常见场景。
使用 IdM API 命令管理 sudo 规则的示例
- 创建 sudo 规则
在本例中,您可以创建一个保持时间更改命令的 sudo 规则。
api.Command.sudorule_add("timechange")api.Command.sudorule_add("timechange")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建 sudo 命令
在本例中,您创建
datesudo 命令。api.Command.sudocmd_add("/usr/bin/date")api.Command.sudocmd_add("/usr/bin/date")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 sudo 命令附加到 sudo 规则
在本例中,您要将
datesudo 命令附加到timechangesudo 规则。api.Command.sudorule_add_allow_command("timechange", sudocmd="/usr/bin/date")api.Command.sudorule_add_allow_command("timechange", sudocmd="/usr/bin/date")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建并附加 sudo 命令组
在本例中,您创建多个 sudo 命令,将它们添加到新创建的
timecmdssudo 命令组中,并将组附加到timechangesudo 规则。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 拒绝 sudo 命令
在本例中,您拒绝要作为 sudo 运行的
rm命令。api.Command.sudocmd_add("/usr/bin/rm") api.Command.sudorule_add_deny_command("timechange", sudocmd="/usr/bin/rm")api.Command.sudocmd_add("/usr/bin/rm") api.Command.sudorule_add_deny_command("timechange", sudocmd="/usr/bin/rm")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将用户添加到 sudo 规则
在这个示例中,您将用户
bob添加到timechangesudo 规则中。api.Command.sudorule_add_user("timechange", user="bob")api.Command.sudorule_add_user("timechange", user="bob")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使 sudo 规则仅对指定的主机可用
在本例中,您将
timechange规则限制为仅对client.ipa.test主机可用。api.Command.sudorule_add_host("timechange", host="client.ipa.test")api.Command.sudorule_add_host("timechange", host="client.ipa.test")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 sudo 规则设置为以不同用户身份运行
默认情况下,sudo 规则以
root用户身份运行。在本例中,您将timechangesudo 规则设置为以alice用户身份运行。api.Command.sudorule_add_runasuser("timechange", user="alice")api.Command.sudorule_add_runasuser("timechange", user="alice")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 sudo 规则设置为以组身份运行
在本例中,您将
timechangesudo 规则设置为以sysadmins组身份运行。api.Command.sudorule_add_runasgroup("timechange", group="sysadmins")api.Command.sudorule_add_runasgroup("timechange", group="sysadmins")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 sudo 规则设置 sudo 选项
在本例中,您为
timechangesudo 规则设置 sudo 选项。api.Command.sudorule_add_option("timechange", ipasudoopt="logfile='/var/log/timechange_log'")api.Command.sudorule_add_option("timechange", ipasudoopt="logfile='/var/log/timechange_log'")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启用 sudo 规则
在本例中,您启用
timechangesudo 规则。api.Command.sudorule_enable("timechange")api.Command.sudorule_enable("timechange")Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 禁用 sudo 规则
在本例中,您禁用
timechangesudo 规则。api.Command.sudorule_disable("timechange")api.Command.sudorule_disable("timechange")Copy to Clipboard Copied! Toggle word wrap Toggle overflow