6.5. 覆盖 LDAP shell 属性


作为管理员,您可以将现有主机配置为使用 LDAP 中的帐户。但是,LDAP 中的用户(名称、UID、GID、主目录、shell)的值可能与本地系统中的值不同。您可以通过定义不同的 shell 来覆盖 LDAP shell 属性。

先决条件

  • root 访问权限
  • 已安装 sssd-tools

步骤

  1. 以本地存储方式显示用户的当前 shell:

    # getent passwd <ldap_username>
    <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<currentshell>_
    Copy to Clipboard Toggle word wrap

    <ldap_username > 替换为用户的名称。

  2. 覆盖用户的 shell:

    # sss_override user-add <ldap_username> -s <new_shell>
    Copy to Clipboard Toggle word wrap

    <ldap_username > 替换为用户的名称,并将 &lt ;new_shell& gt; 替换为新的 shell。

  3. 重启 SSSD 以使更改生效:

    # systemctl restart sssd
    Copy to Clipboard Toggle word wrap

验证

  • 验证是否定义了新 shell:

    # getent passwd <ldap_username>
    <ldap_username>:x:XXXX:XXXX::/home/<home_directory>:_<new_shell>_
    Copy to Clipboard Toggle word wrap
  • 可选:显示用户的覆盖:

    # sss_override user-show <ldap_username>
    user@ldap.example.com::::::_<new_shell>_:
    Copy to Clipboard Toggle word wrap

    例 6.5. 覆盖用户的 shell

    将用户 sarah 的 shell 从 /bin/bash 改为 sbin/nologin

    1. 显示用户 sarah 的当前 shell:

      # getent passwd sarah
      sarah:x:1001:6003::sarah:/bin/bash
      Copy to Clipboard Toggle word wrap
    2. 使用新的 /sbin/nologin shell 覆盖用户 sarah 的 shell:

      # sss_override user-add sarah -s /sbin/nologin
      Copy to Clipboard Toggle word wrap
    3. 重启 SSSD 以使更改生效:

      # systemctl restart sssd
      Copy to Clipboard Toggle word wrap
    4. 验证新 shell 是否已定义并正确覆盖用户显示:

      # getent passwd sarah
      sarah:x:1001:6003::sarah:/sbin/nologin
      
      # sss_override user-show sarah
      user@ldap.example.com::::::/sbin/nologin:
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat