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 コマンドを拒否する
この例では、
rm
コマンドが sudo として実行されることを拒否します。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
として実行されます。この例では、代わりにalice
ユーザーとして実行されるようにtimechange
sudo ルールを設定します。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 ルールをグループとして実行するように設定する
この例では、
sysadmins
グループとして実行されるようにtimechange
sudo ルールを設定します。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