最近在玩服务器的时候,发现新添加的用户user默认使用的是sh而不会是bash,这就导致使用起来很不习惯

有最高权限

  1. 以具有sudo权限的管理员用户登录到Linux系统。

  2. 打开终端或命令行界面。

  3. 编辑 /etc/passwd 文件,可以使用任何文本编辑器,如vinano。在终端中运行以下命令打开该文件:

sudo vi /etc/passwd

  1. 在该文件中找到你想要修改的普通用户的行。每个用户的行看起来类似于:

username:x:1000:1000:User Name:/home/username:/bin/sh

注意到最后的 /bin/sh,这是默认的受限shell。我们需要将其更改为 /bin/bash,以便用户登录后进入bash。

  1. 现在,当该用户登录时,他们将默认进入bash shell。

没有sudo权限

如果你没有sudo权限的管理员用户,但仍希望将默认shell更改为bash,你可以尝试以下方法:

步骤:

  1. 以当前普通用户登录到Linux系统。
  2. 打开终端或命令行界面。
  3. 检查当前用户可以使用的shell列表,可以使用以下命令:

cat /etc/shells

这将显示系统上可用的shell列表。确保bash(/bin/bash)在列表中。

  1. 使用 chsh 命令更改当前用户的默认shell。运行以下命令:

chsh -s /bin/bash

系统会要求你输入当前用户的密码进行验证。

  1. 输入密码后,chsh 命令将会将默认shell更改为bash。
  2. 退出当前会话,并重新登录。你将会进入bash shell作为默认shell。