我们可以在一个 Linux/Unix 发行版上为不同的用户配置不同的 shell 吗?

Ank*_*lok 7 shell login accounts

嗯,这不是我想做的事情,但我问这个问题是为了了解更多关于 Unix/Linux 系统中的 Shell 配置。因此,我想要回答的情况如下-:

由于 Unix/Linux 系统为我们提供了不同的 shell,因此我们可以为每个授权访问系统的用户配置不同的 shell。因此,假设 Tom、Dick 和 Harry 是 3 个被授权使用“Unix”系统的用户,我希望“Tom”使用 shell zsh,Dick 使用tcsh和 Harry 使用bash shell。我怎么能做到这一点,这甚至可能吗?

小智 9

首先,有效的 shell 列在/etc/shells. chsh只要它在/etc/shells文件中,任何用户都可以通过使用来更改他们的默认 shell 。

其次,如果你想添加一个shell /etc/shells,如果你从那里删除一个条目,特别是/bin/sh,你可能会搞砸系统,因为/bin/login通常不会从没有列出的shell启动。

更多信息可在chsh (1)、login.defs (5) 和passwd (5) 手册页中找到。

这个能力已经存在很长时间了(我相信 BSD 4.x)