如何更改Linux登录shell
时间:2020-01-09 10:40:03 来源:igfitidea点击:
如何使用命令更改Linux或UNIX操作系统中的默认登录Shell吗?
您不必编辑/etc/passwd文件即可更改shell。
您需要使用chsh命令。
它更改了用户登录shell。
这确定了用户初始登录命令的名称。
普通用户只能更改其自己帐户的登录Shell,超级用户(即root用户)可以更改任何帐户的登录Shell。
chsh命令语法
以下是chsh命令的语法:
chsh -s {shell-name} {user-name}
其中:
-s {shell-name}
:指定您的登录shell名称。您可以从/etc/shells文件中获得avialble shell的列表。{user-name}
:这是可选的,如果您是root用户,则很有用。
首先,找出可用的shell列表:
$ less /etc/shells
输出示例:
/bin/ash /bin/csh /bin/sh /usr/bin/es /bin/ksh /bin/tcsh /bin/sash /bin/zsh /bin/dash /usr/bin/screen /bin/bash /bin/rbash
示例:将Linux中的默认Shell更改为/bin/tcsh
要将shell名称更改为/bin/tcsh:
$ chsh -s /bin/tcsh
输出示例:
Password:
提示输入密码时,执行您自己的密码。
您必须注销并重新登录才能看到此更改。
如果仅执行chsh命令,它将以交互方式提示输入shell名称:
$ chsh
输出示例:
Password: Changing the login shell for tv Enter the new value, or press ENTER for the default Login Shell [/bin/bash]:
此命令将永久性地将默认登录Shell更改为/bin/tcsh。
在此示例中,首先找出bash shell的路径,执行:
$ type -s bash $ which bash
输出示例:
bash is /usr/local/bin/bash
现在,使用以下命令将名为Hyman的用户的shell设置为bash:
$ chsh -s /usr/local/bin/bash Hyman
或者,如果您知道sysadmin根密码:
$ sudo chsh -s /usr/local/bin/bash Hyman