我们正在编写一个可以在 *nix(可能是 CENTOS)上无头运行的应用程序(perl、mysql)。
如何设置/保护帐户“app”(应用程序将在其中运行)的本地用户/密码,以便,
- 无法进行远程 ssh 登录
远程控制正在工作,所以登录适用于所有帐户,但我需要保护这个帐户 - 'su app' 适用于已有账户的用户
这种设置叫什么?我当然不是第一个尝试这个的人,它肯定有很多记录,但我无法在 Google 上找到相关的搜索词。
编辑:解决方案
我添加了以下几行:
# prevent certain users from using ssh for login
# while retaining the option to 'su username'
DenyUsers app
到/etc/ssh/sshd_config
然后使用以下命令重新启动 sshd
service sshd restart
我现在可以通过 ssh 以“用户”身份登录,并且'苏应用程序'作为应用程序工作。
答案1
将所有用户放入“remote_users”组,并在您的sshd 配置文件,只有来自该组的用户才允许通过 ssh 登录:
AllowGroups
This keyword can be followed by a list of group name patterns,
separated by spaces. If specified, login is allowed only for
users whose primary group or supplementary group list matches one
of the patterns. Only group names are valid; a numerical group
ID is not recognized. By default, login is allowed for all
groups. The allow/deny directives are processed in the following
order: DenyUsers, AllowUsers, DenyGroups, and finally
AllowGroups.
答案2
如果您使用 openssh 密钥通过 ssh 登录,您可以简单地禁止所有帐户的密码登录。su
ing 仍然是可能的。