Answers:
在centos上,您可以使用/ sbin / nologin设置没有外壳的用户:
[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]#
如果需要成为该对象,请使用-s参数并将您选择的外壳作为参数,如下所示:
[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$
请注意,如果您使用bash,它将首先从/ etc / profile中读取设置,并且如果用户主目录中不存在.bash_profile,.bash_login或.profile,则默认为那些设置。当然,如果要使用根目录下的现有环境设置,则可以删除破折号:
出口 [
root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$
一种常见的方法是将用户的shell设置为 /bin/false
su -m username