coffee-grinder Asked: 2011-03-05 00:42:46 +0800 CST2011-03-05 00:42:46 +0800 CST 2011-03-05 00:42:46 +0800 CST 如何将所有用户的默认 shell 更改为 bash? 772 我希望从现在开始的每个新用户都默认使用 bash 作为他们的 shell。 我知道要将自己的 shell 更改为 bash,您将使用命令“chsh -s /bin/bash”,但是如何将所有未来用户的 shell 默认自动设置为 bash? command-line 3 个回答 Voted Best Answer Octavian Damiean 2011-03-05T00:48:50+08:002011-03-05T00:48:50+08:00 添加用户 adduser默认文件/etc/adduser.conf是. DSHELL默认情况下,由变量定义的默认 shell /bin/bash。 用户添加 您很可能不需要这个,因为 useradd 是一个非常低级的实用程序,而且几乎没有直接使用过。 如果您使用 useradd,请编辑/etc/default/useradd骨架文件(但不要忘记进行备份)。 将SHELL变量设置为/bin/bash而不是/bin/sh。 现在每次使用useradd添加新用户时bash都会自动成为他们的默认 shell。 已有用户 如果您想更改现有用户的外壳,您必须编辑/etc/passwd文件(请确保备份它)。 这是列的说明 登录名 可选加密密码 数字用户 ID 数字组 ID 用户名或评论字段 用户主目录 可选的用户命令解释器 像这样用冒号 (:) 分隔的顺序。 root:x:0:0:root:/root:/bin/bash 有关该文件的更多信息,请参阅手册页man 5 passwd。 Jack O'Connor 2013-10-28T23:21:14+08:002013-10-28T23:21:14+08:00 正如 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手动编辑,因为那里的错误可能会破坏各种事情。 MontyThreeCard 2019-05-25T05:25:15+08:002019-05-25T05:25:15+08:00 如果您确实希望服务器上的所有用户都拥有 bash(这是实际提出的问题),您可以运行以下命令: sudo dpkg-reconfigure dash 然后选择不破折号。正如这个答案中所解释的, 如何使 /bin/sh 指向 /bin/bash? 这不仅将 bash 设置为默认 shell,而且正确地重新指向 sh 和手册页。 希望这可以帮助。
添加用户
adduser
默认文件/etc/adduser.conf
是.DSHELL
默认情况下,由变量定义的默认 shell/bin/bash
。用户添加
您很可能不需要这个,因为 useradd 是一个非常低级的实用程序,而且几乎没有直接使用过。
如果您使用 useradd,请编辑
/etc/default/useradd
骨架文件(但不要忘记进行备份)。将
SHELL
变量设置为/bin/bash
而不是/bin/sh
。现在每次使用
useradd
添加新用户时bash
都会自动成为他们的默认 shell。已有用户
如果您想更改现有用户的外壳,您必须编辑
/etc/passwd
文件(请确保备份它)。这是列的说明
像这样用冒号 (:) 分隔的顺序。
有关该文件的更多信息,请参阅手册页
man 5 passwd
。正如 Octavian 所指出的,更改默认值的方式取决于您创建用户的方式。我刚才尝试通过我的 Gnome 设置创建一个新用户,它似乎遵循
/etc/default/useradd
,所以这可能是你最好的选择。对于现有用户,更改其他人的登录 shell 最安全的方法是使用usermod:如果您不是 root,则需要sudo。另一种方法是sudo进入您要修改的用户并运行chsh,如下所示:
最好避免
/etc/passwd
手动编辑,因为那里的错误可能会破坏各种事情。如果您确实希望服务器上的所有用户都拥有 bash(这是实际提出的问题),您可以运行以下命令:
然后选择不破折号。正如这个答案中所解释的,
如何使 /bin/sh 指向 /bin/bash?
这不仅将 bash 设置为默认 shell,而且正确地重新指向 sh 和手册页。
希望这可以帮助。