Centos用户帐户未登录但可以登录


12

我是CentOS的新手(正在运行CentOS 6)。我以前有使用OpenSuse的经验。

我正在尝试为用户设置一个帐户。我不希望该帐户可用于通过ssh或登录屏幕登录。但是,我仍然希望能够使用su命令登录到用户。这使我能够以具有受限访问权限的用户身份运行某些应用程序。该用户不是超级用户,因此它不会影响其他用户的应用程序。

任何帮助将不胜感激。我通常想用它来运行Glassfish服务器等。


那么,您如何使用OpenSuSE解决此问题?
尼尔斯

Answers:


15

在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$ 

0

一种常见的方法是将用户的shell设置为 /bin/false


我尝试将其设置为/ bin / false,但似乎centOS 6没有此选项。它确实具有bin / nologin选项,但这不允许我进入用户帐户。

试试su -m username
unbeli,2011年

如果我将用户设置为/ sbin / nologin,并且尝试使用-m选项进行su,则表明该帐户当前不可用。我也尝试过将/ bin / false添加到shells文件中。当我这样做时,su命令根本不会切换到用户。

好的,不要将/ bin / false添加到shell文件中。将用户的外壳程序设置为/ bin / false。使用su -m。
unbeli 2011年

我已经从/ etc / shells文件中删除了它,并使用usermod命令将用户的shell设置为/ bin / false。如果现在尝试使用su -m username,则表明我没有.bashrc的权限。我以root用户身份登录。如果现在执行:su-用户名,则不会出现任何错误,但仍然被视为root。这在Centos中正常吗?

0

我通常会将“ x”放入此类“技术”用户的加密密码字段中。因此,用户将没有任何可能的密码。如果该用户的authorized_keys中现在也有公共密钥,则该帐户应该非常安全。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.