21.4.2. LDAP を使用した sudo ポリシーのホストへの適用
重要
SSSD を使用しない Red Hat Enterprise Linux 6.3 以前またはクライアントには、LDAP ベースの設定のみを使用してください。Red Hat では、他のクライアントに関しては SSSD ベースの設定を使用することを推奨しています。これについては、「SSSD を使用した
sudo
ポリシーのホストへの適用」 を参照してください。
- IdM でホストおよび sudo エントリーを設定します。
- 任意。「ホストグループの管理」の説明に従って、ホストグループを設定します。
- 任意。「ユーザーグループの作成」で説明されているようにユーザーグループを作成し、ユーザーを追加します。
- 「sudo コマンドおよびコマンドグループの設定」の説明に従って、
sudo
コマンドおよびコマンドグループを設定します。 - 「sudo ルールの定義」の説明に従って、
sudo
ルールを設定します。
- デフォルトの IdM
sudo
ユーザーのパスワードを設定して、バインド (認証) ユーザーを設定します。ユーザーがサーバーへの認証が可能でなければなりません。sudo
ポリシーでは、匿名アクセスはサポートされません。LDAP ツールを使用して、
を設定します。以下に例を示します。sudo
ユーザーのパスワード uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com[jsmith@server ~]$ ldappasswd -Y GSSAPI -S -h ipaserver.example.com uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com New password: Re-enter new password: Enter LDAP Password:
- sudo ルールに SSSD を使用するように、IdM ドメインのすべてのシステムを設定します。
sudo
を設定して、sudoers
ファイルの LDAP を検索します。vim /etc/nsswitch.conf sudoers: files ldap
このfiles
オプションをそのままにすると、sudo
は LDAP ベースの IdM 設定を確認する前にローカル設定を確認することができます。/etc/ldap.conf
ファイル内の sudo 操作のデバッグロギングを有効にします。このファイルが存在しない場合は作成できます。vim /etc/ldap.conf sudoers_debug: 1
注記sudoers_debug
パラメーターを追加すると、トラブルシューティングに役立ちます。このパラメーターの有効な値は 0、1、および 2 です。sudo
ドキュメント (http://www.gratisoft.us/sudo/readme_ldap.html) には、プロセスのデバッグに関する詳細情報が記載されています。- NSS/LDAP 設定ファイルを編集し、以下の
sudo
関連の行を/etc/sudo-ldap.conf
ファイルに追加します。binddn uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com bindpw sudo_password ssl start_tls tls_cacertfile /etc/ipa/ca.crt tls_checkpeer yes bind_timelimit 5 timelimit 15 uri ldap://ipaserver.example.com ldap://backup.example.com:3890 sudoers_base ou=SUDOers,dc=example,dc=com
複数の LDAP サーバーをスペースで区切って設定できます。その他のオプション (SSL や非標準ポートなど) は LDAP URL と併用できます。sudo
LDAP 設定は sudooers.ldap(8) man ページで説明されています。重要uri
ディレクティブは、IP アドレスではなく、LDAP サーバーの完全修飾ドメイン名を提供する必要があります。それ以外の場合は、sudo
は LDAP サーバーへの接続に失敗します。 - 任意。SSSD でのデバッグを有効にして、使用している LDAP 設定を表示します。
[root@server ~]# vim /etc/sssd/sssd.conf [domain/LDAPDOMAIN] debug_level = 6 ....
SSSD が操作に使用する LDAP 検索ベースは、sssd_
DOMAINNAME.log
ファイルに記録されます。 sudo
設定で NIS ドメインの名前を設定します。sudo
は NIS スタイルの netgroup を使用するので、sudo
が IdMsudo
設定で使用されているホストグループを発見できるようにするには、NIS ドメイン名はシステム設定で設定する必要があります。sudo
ルールで使用する NIS ドメイン名を設定します。[root@server ~]# nisdomainname example.com
- NIS ドメイン名が維持されるようにシステム認証設定を設定します。たとえば、以下のようになります。
[root@server ~]# echo "NISDOMAIN=example.com" >> /etc/sysconfig/network
これにより、NIS ドメインを持つ/etc/sysconfig/network
および/etc/yp.conf
ファイルが更新されます。
注記sudo
は NIS 形式のネットグループを使用しますが、NIS サーバーをインストールする必要はありません。netgroups では、NIS ドメインを設定で命名する必要があるため、sudo
では、netgroups に NIS ドメインという名前を付ける必要があります。ただし、NIS ドメインが存在する必要はありません。