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 命令
在本例中,您创建
date
sudo 命令。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 规则
在本例中,您要将
date
sudo 命令附加到timechange
sudo 规则。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 命令,将它们添加到新创建的
timecmds
sudo 命令组中,并将组附加到timechange
sudo 规则。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
添加到timechange
sudo 规则中。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
用户身份运行。在本例中,您将timechange
sudo 规则设置为以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 规则设置为以组身份运行
在本例中,您将
timechange
sudo 规则设置为以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 选项
在本例中,您为
timechange
sudo 规则设置 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 规则
在本例中,您启用
timechange
sudo 规则。api.Command.sudorule_enable("timechange")
api.Command.sudorule_enable("timechange")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 禁用 sudo 规则
在本例中,您禁用
timechange
sudo 规则。api.Command.sudorule_disable("timechange")
api.Command.sudorule_disable("timechange")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow