我有一个私人网络服务器,在用户“nobody”下运行。该网络服务器有时需要自动使用 SSH 访问另一台服务器。发生这种情况时,我无法在场使用密码。
因此,我创建了一个权限为 700 的文件,并为其分配了用户无人(chmod 和 chown)。但是,当使用“sudo -u无人猫测试文件”访问该文件时,我仍然无法访问该文件。因此,我假设我无法创建具有正确权限的 rsa_id 供网络服务器使用。
是否可以创建一个可由 nobody 用户使用的文件来连接到 SSH?如果不是,那么是不是专门为具有主目录的服务器创建一个用户,然后使用该 rsa_id?
PS:我是centos
谢谢阅读!
答案1
我创建了一个权限为 700 的文件,并为其分配了用户无人(chmod 和 chown)。 ...我仍然无法访问该文件
nobody
如果它位于无法访问的目录中,则不能。
找出网络服务器实际在哪个用户下运行,这可能不是nobody
一开始的事。然后为其创建一个不同的 SSH 密钥,并将其放在网络服务器可以读取的地方。 config 目录可能是一个不错的选择(/etc/apache
或者/etc/httpd
CentOS 中的任何目录)。
然后请注意,除非您的 Web 服务器上的脚本在不同的用户下运行,否则您可能无法将对该 SSH 密钥的访问限制为仅一个脚本,但在 Web 服务器中运行的任何内容都可以使用它。