Answers:
添加用户
该adduser
默认文件/etc/adduser.conf
。默认情况下,DSHELL
变量定义的默认外壳程序是/bin/bash
。
用户添加
您很有可能不需要此功能,因为useradd是一个非常低级的实用程序,几乎从未直接使用过。
如果您使用useradd,请编辑/etc/default/useradd
框架文件(不过请不要忘记进行备份)。
将SHELL
变量设置为/bin/bash
而不是/bin/sh
。
现在,每次您useradd
用来添加新用户时bash
,它们的默认外壳都会自动出现。
已经存在的用户
如果要更改现有用户的外壳,则必须编辑/etc/passwd
文件(请确保备份了该文件)。
这是各列的说明
像这样用冒号(:)分隔。
root:x:0:0:root:/root:/bin/bash
有关该文件的更多信息,请参考手册页man 5 passwd
。
正如Octavian所指出的,更改默认值的方式取决于您创建用户的方式。我刚刚尝试通过我的Gnome设置创建一个新用户,并且似乎遵循/etc/default/useradd
,所以这可能是最好的选择。对于现有用户,更改其他人的登录shell的最安全方法是使用usermod:
usermod -s /bin/bash $USERNAME
如果您不是root用户,则需要对其进行sudo。另一种方法是对要修改的用户使用sudo,然后仅运行chsh,如下所示:
sudo -u $USERNAME chsh -s /bin/bash
最好避免/etc/passwd
手动编辑,因为其中的错误可能会破坏各种情况。
如果您实际上希望服务器上的所有用户都使用bash(这是实际提出的问题),则可以运行以下命令:
sudo dpkg-reconfigure dash
然后选择“不破折号”。如该答案中所述,
这不仅将bash设置为默认外壳,而且正确地指向了sh和手册页。
希望这可以帮助。
sudo -u $USER chsh -s $SHELL
。