如何将所有USERS的默认shell更改为bash?

我希望从现在开始,每个新用户都默认使用bash作为shell。

我知道要将自己的shell更改为bash,你会使用命令“chsh -s / bin / bash”,但是如何在默认情况下自动将所有未来用户的shell设置为bash?

添加用户

adduser默认文件是/etc/adduser.conf 。 默认情况下, DSHELL变量定义的默认shell是/bin/bash

useradd的

很可能你不需要这个,因为useradd是一个非常低级的实用程序,它几乎不会直接使用。

如果使用useradd,请编辑/etc/default/useradd框架文件(不要忘记进行备份)。

SHELL变量设置为/bin/bash而不是/bin/sh

现在每次使用useradd添加新用户bash都会自动成为他们的默认shell。

已有用户

如果要更改现有用户的shell,则必须编辑/etc/passwd文件(请确保备份它的备份)。

这是列的描述

  1. 登录名
  2. 可选加密密码
  3. 数字用户ID
  4. 数字组ID
  5. 用户名或注释字段
  6. 用户主目录
  7. 可选的用户命令解释器

按此顺序用冒号(:)分隔。

 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 ,因为那里的错误可能会破坏各种各样的事情。