目录
一、概述
二、用法
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 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。