更多: zhilu jiaocheng

更改现有用户的登录shell

要更改现有用户的shell,可以使用以下命令:

# chsh -s [shell] [user]

例如,使用 chsh 命令将 testuser 的 shell 更改为 /bin/bash:

# chsh -s /bin/bash testuser

另一种更改 shell 的方法是使用命令 usermod。
更改用户shell的语法是:

# usermod -s [shell] [user]

例如,使用 usermod 命令将 testuser 的 shell 更改为 /bin/bash:

# usermod -s /bin/bash testuser

检查确认

使用以下任一方法验证用户的当前登录 shell:

# echo $SHELL
/bin/bash
# cat /etc/passwd | grep testuser
testuser:x:8152:9152::/home/testuser:/bin/bash

注意:在更改 shell 之前,系统会提示非 root 用户输入密码。
这些更改将在下次登录时生效。

CentOS/RHEL:如何更改用户的登录 shell

文件 /etc/shells 是系统上所有可用登录 shell 的完整路径。
因此,要设置特定的 shell,shell 条目必须存在于 /etc/shells 文件中。

# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

我们还可以使用 chsh -list 或者 chsh -l 命令列出系统上可用的 shell:

# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

创建用户时更改登录shell

要在创建用户时设置特定的 shell,可以使用以下命令:

# useradd -s [shell] [username]

例如将用户 testuser 的 shell 设置为 /bin/bash :

# useradd -s /bin/bash testuser
日期:2020-09-17 00:12:11 来源:oir作者:oir