如何更改域帐户上的默认 shell

Rum*_*les 17 linux shell samba4

我使用 samba4 域帐户登录我的笔记本电脑。我想尝试zsh一下,但由于我的用户不在,/etc/passwd我发现chsh找不到我的用户。谁能建议我如何改变我的login_shell

我看不到我的任何东西ldap.confnssswitch.conf或任何/etc/pam.d,帮助...

看着域控制器,我想也许我可以使用 samba-tool,但我没有看到任何帮助指向正确方向的帮助......

Rum*_*les 28

我在 Freenode 的 #suse 频道中询问了这个问题,Miuku 提出了与 Arul 相同的建议,但是,他提到了两件事,如果我使用的是 Windows 域,我可以设置 loginShell 属性。

可悲的是,我在一个 samba 域上,所以这没有帮助。但他最后的建议是完美的,得到以下输出:

getent passwd USERNAME
Run Code Online (Sandbox Code Playgroud)

这将在 /etc/passwd 中为您的用户提供等效的有效条目,将其粘贴到 /etc/passwd 并在最后更新 shell 以获取您要使用的 shell 的有效路径。这样它就不会为所有用户更改它,并且您可以在进行更改之前确保 shell 在您正在配置它的机器上。


Mat*_*ani 7

我有完全相同的问题。由于并非我域中的所有机器都安装了 zsh,并且由于我不想影响所有用户,因此我最终放入了我的 .bashrc:

if [ -x /usr/bin/zsh ]; then
  echo 'starting zsh'
  # export SHELL=/bin/zsh #edit: this is probably not what you want, see the comment.
  exec /usr/bin/zsh
fi
Run Code Online (Sandbox Code Playgroud)

这可能不优雅,但至少它完成了工作。