使用 Active Directory 在 RHEL7 中设置默认 Linux Shell

使用 Active Directory 在 RHEL7 中设置默认 Linux Shell

我有一个客户有一个安装脚本,需要/bin/tcsh在其 Active Directory 域加入的 RHEL7 虚拟机上作为 shell 运行。此安装脚本将使用名为 的服务帐户运行serviceaccount。现在,该帐户因其所属的组而被授予权限Admins

最终用户登录虚拟机,sudo su serviceaccount然后运行 ​​shell。

我们已将serviceaccount的属性修改loginShell/bin/tcsh

现在,Unix 管理团队将serviceaccount的配置文件设置为/bin/tcsh,并且可以使用用户的环境设置来验证它。不知何故,安装脚本正在查找/bin/bash,它看起来完全是随机的,但超过 95% 的时间它都会错误地拉取。

除了loginShell.

我还验证了它在环境中的每个域控制器中都设置正确。

getent passwd serviceaccount
serviceaccount:*:123456789:123456789:serviceaccount:/home/serviceaccount:/bin/bash

(作为另一项测试,我们建立了一个新的虚拟机,该帐户从未登录过,但getent仍然显示/bin/bash。)

有任何想法吗?

答案1

非常确定您会通过 authconfig 设置的 sssd 使用 AD 身份验证。在 /etc/sssd/sssd.conf 中,将为 AD 域/领域设置默认 shell。这就是 /bin/bash 的来源。至于为每个帐户设置 shell 吗?不知道如何覆盖 sssd 默认值。

相关内容