6.5. LDAP シェル属性のオーバーライド
管理者は、LDAP のアカウントを使用するように既存のホストを設定できます。しかし、LDAP 内のユーザーの値 (名前、UID、GID、ホームディレクトリー、シェル) が、ローカルシステム上の値と異なる場合があります。別のシェルを定義することで、LDAP シェル属性をオーバーライドできます。
前提条件
-
rootアクセス -
sssd-toolsがインストールされている
手順
ローカルに保存されているユーザーの現在のシェルを表示します。
getent passwd <ldap_username> <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<currentshell>_
# getent passwd <ldap_username> <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<currentshell>_Copy to Clipboard Copied! Toggle word wrap Toggle overflow <ldap_username>は、ユーザー名に置き換えます。ユーザーのシェルをオーバーライドします。
sss_override user-add <ldap_username> -s <new_shell>
# sss_override user-add <ldap_username> -s <new_shell>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <ldap_username>は、ユーザー名に置き換えます。<new_shell>は、新しいシェルに置き換えます。SSSD を再起動して変更を適用します。
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しいシェルが定義されていることを確認します。
getent passwd <ldap_username> <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<new_shell>_
# getent passwd <ldap_username> <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<new_shell>_Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ユーザーのオーバーライドを表示します。
sss_override user-show <ldap_username> user@ldap.example.com::::::_<new_shell>_:
# sss_override user-show <ldap_username> user@ldap.example.com::::::_<new_shell>_:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例6.5 ユーザーのシェルのオーバーライド
ユーザー
sarahのシェルを/bin/bashからsbin/nologinに変更するには、次のコマンドを実行します。ユーザー
sarahの現在のシェルを表示します。getent passwd sarah sarah:x:1001:6003::sarah:/bin/bash
# getent passwd sarah sarah:x:1001:6003::sarah:/bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー sarah のシェルを新しい
/sbin/nologinシェルでオーバーライドします。sss_override user-add sarah -s /sbin/nologin
# sss_override user-add sarah -s /sbin/nologinCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD を再起動して変更を適用します。
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいシェルが定義されており、ユーザーのオーバーライドが正しく表示されることを確認します。
getent passwd sarah sarah:x:1001:6003::sarah:/sbin/nologin sss_override user-show sarah user@ldap.example.com::::::/sbin/nologin:
# getent passwd sarah sarah:x:1001:6003::sarah:/sbin/nologin # sss_override user-show sarah user@ldap.example.com::::::/sbin/nologin:Copy to Clipboard Copied! Toggle word wrap Toggle overflow