Linux命令之改变用户的shell设定chsh
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之改变用户的shell设定chsh相关的知识,希望对你有一定的参考价值。
概述
chsh
命令用来查看和修改系统的登录 shell。
语法
该命令的语法如下:
chsh [选项] [用户名]
该命令支持的选项有:
选项 | 说明 |
---|---|
-s, --shell <shell> | 修改登录 shell |
-l, --list-shells | 打印当前系统的 shell 列表 |
-u, --help | 显示帮助信息 |
-v, --version | 显示版本信息 |
使用
查看当前系统的 shell 列表
如果要查看当前系统的 shell 列表,命令格式如下:
chsh -l
# 或
cat /etc/shells
改变当前的 shell
如果要改变当前的 shell,命令格式如下:
chsh
注意:修改之后
$SHELL
变量仍然没用改变,需要重启之后才会生效。修改之后可以通过/etc/passwd
文件查看修改。
通过 -s
选项改变当前的 shell
还可以通过 -s
选项直接指定 shell,而不是输入。命令格式如下:
# 语法
chsh -s 新的shell
# 示例,将当前用户的 shell 修改为 /bin/sh
chsh -s /bin/sh
改变指定用户的 shell
如果是超级用户 root
,则可以改变其他用户的 shell。命令格式如下:
# 语法
chsh -s 新的shell 指定用户名
# 示例,修改用户 wuqi 的登录shell为 /bin/sh
chsh -s /bin/sh wuqi
注:该命令可以用来禁用阻止某个用户的登录,请参考 https://blog.csdn.net/cnds123321/article/details/125232580。
以上是关于Linux命令之改变用户的shell设定chsh的主要内容,如果未能解决你的问题,请参考以下文章
什么是默认登录shell,如何改变指定用户的登录shell?
修改 Linux 默认 Shell 用 chsh -s /bin/zsh 命令不生效,提示 chsh: Shell not changed. 或 chsh: command not found 怎么办