7.5. 覆盖 LDAP shell 属性
作为管理员,您可以将现有主机配置为使用 LDAP 中的帐户。但是,LDAP 中用户(名称、UID、GID、主目录、shell)的值与本地系统中的值不同。您可以通过按照以下步骤定义不同的 shell 来覆盖 LDAP shell 属性。
先决条件
-
root
访问权限 -
已安装
sssd-tools
步骤
显示用户当前的 shell:
# getent passwd user-name user-name:x:XXXX:XXXX::/home/home-directory:/bin/bash
使用用户名称替换 user-name。
覆盖用户的 shell:
# sss_override user-add user-name -s new-shell
使用用户名替换 user-name,并使用新 shell 替换 new-shell。
重启 SSSD 以使更改生效:
# systemctl restart sssd
验证
验证是否定义了新 shell:
# getent passwd user-name user-name:x:XXXX:XXXX::/home/home-directory:new-shell
可选。显示用户的覆盖:
# sss_override user-show user-name user@ldap.example.com::::::new-shell:
例 7.5. 覆盖用户的 shell
将用户 sarah 的 shell 从
/bin/bash
改为sbin/nologin
:显示用户 sarah 的当前 shell:
# getent passwd sarah sarah:x:1001:6003::sarah:/bin/bash
使用新的
/sbin/nologin
shell 覆盖用户 sarah 的 shell:# sss_override user-add sarah -s /sbin/nologin
重启 SSSD 以使更改生效:
# systemctl restart sssd
验证新 shell 是否已定义并正确覆盖用户显示:
# getent passwd sarah sarah:x:1001:6003::sarah:/sbin/nologin # sss_override user-show user-name user@ldap.example.com::::::/sbin/nologin:
其他资源
-
系统上的
sss_override
man page