6.5. 覆盖 LDAP shell 属性
作为管理员,您可以将现有主机配置为使用 LDAP 中的帐户。但是,LDAP 中的用户(名称、UID、GID、主目录、shell)的值可能与本地系统中的值不同。您可以通过定义不同的 shell 来覆盖 LDAP shell 属性。
先决条件
-
root
访问权限 -
已安装
sssd-tools
步骤
以本地存储方式显示用户的当前 shell:
getent passwd <ldap_username>
# getent passwd <ldap_username> <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<currentshell>_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<ldap_username
> 替换为用户的名称。覆盖用户的 shell:
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&
gt; 替换为新的 shell。重启 SSSD 以使更改生效:
systemctl restart sssd
# systemctl restart sssd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证是否定义了新 shell:
getent passwd <ldap_username>
# 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>
# sss_override user-show <ldap_username> user@ldap.example.com::::::_<new_shell>_:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 6.5. 覆盖用户的 shell
将用户
sarah
的 shell 从/bin/bash
改为sbin/nologin
:显示用户
sarah
的当前 shell:getent passwd sarah
# getent passwd sarah sarah:x:1001:6003::sarah:/bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用新的
/sbin/nologin
shell 覆盖用户 sarah 的 shell:sss_override user-add sarah -s /sbin/nologin
# sss_override user-add sarah -s /sbin/nologin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 SSSD 以使更改生效:
systemctl restart sssd
# systemctl restart sssd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证新 shell 是否已定义并正确覆盖用户显示:
getent passwd sarah sss_override user-show sarah
# 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