如何在 Linux 操作系统中更改默认用户 Shell

你一定很熟悉 bash 我们在Linux系统中常用的shell。 在大多数 Linux 操作系统中,默认 shell 是 bash 但是你知道我们可以改变默认值吗 bash shell 到任何其他 shell,如 sh、fish、zsh、csh 等。在本文中,我们将学习如何更改 Linux 操作系统中的默认用户 shell。

查找当前的 shell 名称

要更改默认用户 shell,首先要找到您正在使用的当前 shell。 在 Linux 系统中,默认的用户 shell 是 bash. 有一个文件名为 密码 目录下/ETC 存储用户登录期间所需的基本用户帐户信息。我们可以使用该文件识别当前用户外壳。

运行以下命令查看文件中存储的当前用户信息 /etc/密码。

$ grep <current_user> /etc/passwd

例子

$ grep aayush /etc/passwd

在上述 exampleaayush 是用户名和 bash 是当前的外壳。

此外,您可以使用 echo 命令检查当前用户 shell。

$ echo $SHELL

列出 Linux 中可用的 shell

要更改用户默认 shell,我们需要找出 Linux 系统中可用的 shell 列表。

可以使用以下命令列出已安装的 shell。

$ cat /etc/shells

可以看出,不同类型的外壳如 bashrbash 和 dash 在系统中可用。

在更换外壳之前,请记住以下事项。

  • root 用户可用于更改其他用户的登录 shell
  • 如果任何用户帐户具有受限登录 shell,则只有 root 用户可以更改用户的 shell
  • 用户将只能更改 /etc/shells 中列出的 shell。

将默认 sh shell 更改为 bash 贝壳

在 Linux 操作系统中,有很多方法可以更改默认登录 shell。 在本文中,我们将解释一些常用的方法。

使用 chsh 实用程序

如果要更改默认用户 shell,则 chsh 实用程序可能非常有用。 运行命令 chsh 有选项 -s 更改用户外壳。 它还修改了 /etc/passwd 文件。

$ chsh -s /bin/sh aayush

其中,aayush 是用户名和 是我们要改变的外壳。

在这个 example默认用户 shell 已从 bash 嘘。

使用 usermod 命令

usermod 实用程序是修改用户帐户的另一种方法。 您只需要指定选项 -s 或者 -贝壳 更改用户的默认 shell。 请记住,您需要拥有 root 特权帐户才能进行更改。 使用 usermod 不会更改用户当前的 shell,但会设置一个默认 shell,以便在下次登录时使用。

$ sudo usermod -s /bin/bash aayush

在上述 example用户的默认 shell 已从 bash嘘。

通过在 passwd 文件中编辑

在linux系统中,重要的用户信息存储在文件中 /etc/passwd 这是登录所需要的。 也可以通过手动编辑此文件来更改默认用户 shell。 为此,使用任何文本编辑器编辑文件 /etc/passwd 并在用户的用户名和主目录之后更改 shell 并保存文件。

$ sudo vi /etc/passwd

更改当前用户 shell

更改当前用户 shell 简单易行。 只需在终端中键入要使用的 shell。 但这不会更改下一次登录的默认 shell。

$ rbash

结论

在本文中,我们学习了在 Linux 操作系统中更改默认用户 shell 的不同方法