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