网站搜索

使用 FreeIPA 在 SSSD 上为 AD 用户设置默认登录 Shell


IPA 身份管理服务器提供与 Microsoft Active Directory 的双向用户身份和密码同步。但配置IPA和Active Directory后,用户的默认shell是/bin/sh。本指南将讨论如何在 FreeIPA 客户端上更改 AD 信任用户的默认 shell,以便所有用户都能享受更好的 shell 环境,例如 bash 和 zsh。

我假设您已经安装并配置了 FreeIPA 服务器和客户端。我们下面的指南应该会有所帮助。

  • 在 Ubuntu/CentOS 7/RHEL 8/Rocky Linux 8 上安装 FreeIPA 服务器
  • 在 CentOS 7/Ubuntu/Debian/RHEL/CentOS 8 上配置 FreeIPA 客户端

更改 SSSD 上的默认 Shell

系统安全服务守护程序 (SSSD) 是一种用于访问远程目录和身份验证机制的系统服务。它将本地系统(SSSD客户端)连接到外部后端系统(域)。我们将编辑 SSSD 客户端配置文件 /etc/sssd/sssd.conf 并在 DOMAIN 部分定义默认 shell。

$ sudo vim /etc/sssd/sssd.conf
.......
default_shell = /bin/bash
override_shell = /bin/bash

请参阅下面的屏幕截图。

进行更改后,删除 sssd 缓存并重新启动 sssd 服务。

sudo rm -rf /var/lib/sss/db/*
sudo systemctl restart sssd

检查 AD 上的用户。

$ id ADSRV01\\ipauser
uid=1426401131([email ) gid=1426401131([email ) groups=1426401131([email ),1426400513(domain [email ),915800006(ad_users)

尝试以 AD 用户身份进行 ssh。

$ ssh ipauser\@mydomain.com@localhost
Password: 
Creating home directory for [email .
Last login: Fri Jun 21 16:41:27 2019 from localhost

检查用户登录 shell。

$ echo $SHELL
/bin/bash

现在,您已将 /bin/bash 作为所有通过 SSH 访问 Linux 服务的 AD 用户的默认 shell。在下面查找有关 FreeIPA 的更多指南:

  • 在 Docker/Podman 容器中运行 FreeIPA 服务器
  • 使用 CLI 管理 FreeIPA 中的用户和组
  • 如何配置 Jenkins FreeIPA LDAP 身份验证
  • 配置 GitLab FreeIPA LDAP 身份验证
  • 使用 Let’s Encrypt SSL 证书保护 FreeIPA 服务器的安全

相关文章: