功能简述
修改登录 Shell
常用命令
允许或禁止 apache 用户登录:
chsh -s /bin/bash apache # 允许 chsh -s /sbin/nologin apache # 禁止
语法格式
chsh [options] [LOGIN]
命令描述
命令chsh更改用户登录Shell。这确定了用户初始登录命令的名称。
普通用户只能更改自己帐户的登录Shell;超级用户可以更改任何帐户的登录Shell。
命令行中的LOGIN参数用于指定要修改的用户。
命令选项
命令chsh支持如下的选项:
-s, –shell SHELL
用户的新登录 Shell 的名称。将此字段设置为空则系统会选择默认登录 Shell。
如果未指定-s选项,则命令chsh以交互方式运行,并提示用户当前正在使用的登录Shell。输入新值以更改原有的登录Shell,或留空则不做修改。当前的登录Shell显示在一对方括号([])之间。
-R, –root CHROOT_DIR
在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help
显示帮助信息并退出。
注意事项
对由选项-s指定的登录Shell的唯一限制是必须存在于/etc/shells中,除非chsh的调用者是超级用户,然后可以添加任何值。
具有受限登录Shell的帐户可能不会更改其登录Shell。因此,不建议在/etc/shells中放置/bin/rsh,因为意外更改为受限制的Shell会阻止用户将其登录Shell更改回其原始值。
相关文件
/etc/passwd
用户账户信息。
/etc/shells
列出了可用的登录Shell。
/etc/login.defs
软件包Shadow中各个工具的配置文件,用于改变这些工具的行为。
相关手册
chfn(1), login.defs(5), passwd(5).
参考文献
- man 1 chsh, Version shadow-utils 4.4
- How to Block or Disable Normal User Logins in Linux