4.4. IdM API コマンドを使用した sudo ルールの管理


以下の例は、IdM API コマンドを使用して sudo ルールを管理する方法の一般的なシナリオを示しています。

IdM API コマンドを使用した sudo ルールの管理の例

sudo ルールを作成する

この例では、時間変更コマンドを保持する sudo ルールを作成します。

api.Command.sudorule_add("timechange")
sudo コマンドを作成する

この例では、date sudo コマンドを作成します。

api.Command.sudocmd_add("/usr/bin/date")
sudo コマンドを sudo ルールに割り当てる

この例では、date sudo コマンドを timechange sudo ルールに割り当てます。

api.Command.sudorule_add_allow_command("timechange", sudocmd="/usr/bin/date")
sudo コマンドのグループを作成して割り当てる

この例では、複数の sudo コマンドを作成して、新しく作成した timecmds sudo コマンドグループに追加し、そのグループを timechange sudo ルールに割り当てます。

api.Command.sudocmd_add("/usr/bin/date")
api.Command.sudocmd_add("/usr/bin/timedatectl")
api.Command.sudocmd_add("/usr/sbin/hwclock")
api.Command.sudocmdgroup_add("timecmds")
api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/bin/date")
api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/bin/timedatectl")
api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/sbin/hwclock")
api.Command.sudorule_add_allow_command("timechange", sudocmdgroup="timecmds")
sudo コマンドを拒否する

この例では、rm コマンドが sudo として実行されることを拒否します。

api.Command.sudocmd_add("/usr/bin/rm")
api.Command.sudorule_add_deny_command("timechange", sudocmd="/usr/bin/rm")
sudo ルールにユーザーを追加する

この例では、ユーザー bobtimechange sudo ルールに追加します。

api.Command.sudorule_add_user("timechange", user="bob")
指定したホストでのみ sudo ルールを使用できるようにする

この例では、timechange ルールを client.ipa.test ホストでしか使用できないように制限します。

api.Command.sudorule_add_host("timechange", host="client.ipa.test")
sudo ルールを別のユーザーとして実行するように設定する

デフォルトでは、sudo ルールは root として実行されます。この例では、代わりに alice ユーザーとして実行されるように timechange sudo ルールを設定します。

api.Command.sudorule_add_runasuser("timechange", user="alice")
sudo ルールをグループとして実行するように設定する

この例では、sysadmins グループとして実行されるように timechange sudo ルールを設定します。

api.Command.sudorule_add_runasgroup("timechange", group="sysadmins")
sudo ルールの sudo オプションを設定する

この例では、timechange sudo ルールの sudo オプションを設定します。

api.Command.sudorule_add_option("timechange", ipasudoopt="logfile='/var/log/timechange_log'")
sudo ルールを有効にする

この例では、timechange sudo ルールを有効にします。

api.Command.sudorule_enable("timechange")
sudo ルールを無効にする

この例では、timechange sudo ルールを無効にします。

api.Command.sudorule_disable("timechange")
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.