Linux系统命令:用于改变用户的登录 Shell 的命令chsh命令详解
目录
一、概述
二、用法
1、基本用法
2、常用选项
3、获取帮助
三、示例
1. 更改当前用户的登录 Shell
2. 更改其他用户的登录 Shell
3、列出所有可用的 shell
四、 注意事项
1、已经安装好
2、权限
3、密码验证
4、shell 路径
5、生效时间
五、示例输出
一、概述
chsh 是一个用于改变用户的登录 Shell 的命令。在 Linux 和 Unix 类似系统中,每个用户的账户信息都存储在一个配置文件中,通常是 /etc/passwd 文件。在这个文件中,每一行代表一个用户的信息,其中包含了用户的用户名、密码哈希(通常加密)、用户 ID (UID)、组 ID (GID)、用户全名、主目录路径以及登录 Shell 的路径。
二、用法
1、基本用法
chsh 命令的基本语法如下:
chsh [options] [username]
其中:
- [options]:可选参数,用于控制 chsh 的行为。
- [username]:要更改其登录 Shell 的用户名。如果不指定,则默认为当前用户。
2、常用选项
chsh 命令支持几个选项来控制其行为:
-s 或 --shell:指定要使用的 Shell 路径。
-l 或 --list:列出可用的 Shell 列表。这通常是从 /etc/shells 文件中读取的。
-h 或 --help:显示帮助信息。
-v 或 --version:显示版本信息。
3、获取帮助
通过使用如下命令
chsh --help
实际使用效果如下图所示:
三、示例
1. 更改当前用户的登录 Shell
如果你想更改当前用户的登录 Shell 为 Bash,可以这样操作:
chsh -s /bin/bash
2. 更改其他用户的登录 Shell
如果你是超级用户(root),你可以更改任何用户的登录 Shell。例如,要将用户 john 的 Shell 更改为 zsh,可以这样做:
sudo chsh -s /bin/zsh john
3、列出所有可用的 shell
如果用户不确定有哪些 shell 可用,可以使用 -l 选项:
chsh -l
这将输出一个可用的 shell 列表,例如:
/bin/bash /bin/sh /bin/zsh /usr/bin/fish
四、 注意事项
使用chsh需要注意如下事项:
1、已经安装好
在使用 chsh 命令更改 Shell 之前,请确保所选择的 Shell 已经安装在系统上,并且它的路径被列在 /etc/shells 文件中。
2、权限
普通用户只能更改自己的 shell。如果需要为其他用户更改 shell,通常需要具有超级用户(root)权限。
3、密码验证
在更改 shell 时,系统通常会要求用户输入当前密码以验证身份。
4、shell 路径
确保指定的 shell 路径是正确的,并且该 shell 存在于系统中。如果指定的 shell 不存在,用户可能无法登录。
5、生效时间
更改后的 shell 将在用户下次登录时生效。当前会话中的 shell 不会立即更改。
五、示例输出
当你运行 chsh --list 时,可能会看到类似下面的输出,显示系统中所有有效的 Shell:
$ chsh --list/bin/sh/bin/bash/bin/zsh
这表示列出的这些 Shell 都是系统认为有效的登录 Shell。
实际在centos系统各种操作如下:
通过使用 chsh 命令,你可以轻松地更改用户的默认 Shell,这对于个性化用户的 shell 环境或者根据用户的偏好进行设置是非常有用的。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。
