无法在 freebsd 中将 bash 设为默认 shell

无法在 freebsd 中将 bash 设为默认 shell

我想将 freebsd 中的默认 shell 更改为 bash。我尝试了以下操作:

1.chsh -s /bin/bash (or /usr/local/bin/bash) <my_username>

输入密码后出现此错误:chsh: yppasswd_remote(): NIS password update failed

2.已添加exec /bin/bash --login到我的.profile文件中。但即使在注销并重新登录后,tcsh 仍然是默认 shell。

如果还有什么需要做的,请告诉我好吗?提前谢谢。

答案1

确保/usr/local/bin/bash(或你的 bash 的路径) 在 中/etc/shells。Chsh 只允许更改为允许的 shell 列表中的 shell。

此外,.profile适用于 Bourne shell,而不是 tcsh 之类的 c-shell。您的 hack 可能应该使用.cshrc

答案2

您可以使用 vipw (# man vipw) 正确编辑您的 passwd 文件。运行后,它会更改位于行末的默认 shell。

答案3

您可以使用“vipw”工具来编辑用户的shell。

http://www.unix.com/man-page/FreeBSD/8/vipw/

您应该更改用户的 shell 部分:/usr/local/bin/bash。例如:

aokan:*:1002:3024::0:0:User &:/home/pgsql:/usr/local/bin/bash

确保已安装 bash:

pkg_info |grep bash

答案4

您可以编辑您的 passwd 文件并在您的用户名前面输入您的默认 bash,例如:

news:x:9:9:news:/var/spool/news:/bin/sh

将 /bin/sh 更改为您的 bash 所在的位置。

相关内容