当前位置: 首页 > news >正文

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系统各种操作如下:

有效的登录shell

通过使用 chsh 命令,你可以轻松地更改用户的默认 Shell,这对于个性化用户的 shell 环境或者根据用户的偏好进行设置是非常有用的。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。



http://www.mrgr.cn/news/40854.html

相关文章:

  • 有没有免费写论文的软件?推荐这5款
  • 深耕领域、拓宽视野与培养软技能
  • C++语言学习(2): name lookup 的概念
  • 面试题1-fail-safe机制与fail-fast 机制
  • JavaScript Set基础与实战应用
  • 使用容器启动的zk无法暴露3888问题解决
  • 您的计算机已被Lockbit3.0勒索病毒感染?恢复您的数据的方法在这里!
  • 【论文阅读】基于真实数据感知的模型功能窃取攻击
  • 内存对齐的原理和使用
  • 使用 Docker 制作 YashanDB 镜像:深度解析与实战指南
  • MongoDB 副本集搭建 【docker compose + 本机部署】【建议收藏起来】
  • Oracle架构之数据库备份和RAC介绍
  • 计算机毕业设计 家校互联管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • SpringCloudEureka实战:搭建EurekaServer
  • SigmaStudio控件Cross Mixer\Signal Merger算法效果分析
  • 代码随想录Day23—回溯2
  • XSS基础
  • Street View Synthesis with Gaussian Splatting and Diffusion Prior 学习笔记
  • 10月1日刷题记录
  • 网站集群批量管理-密钥认证与Ansible模块