我有一个系统帐户,用于运行数据库(即 mongodb)。默认情况下它没有家。现在我想从该帐户触发 scp 命令,并使用 ssh 密钥身份验证到远程服务器,以导出备份。
我是否应该手动创建一个 /home/mongodb 和 /home/mongodb/.ssh 文件夹来存储 SSH 密钥,就像普通用户的默认设置一样?之后还算系统账号吗?
谢谢!
vor*_*aq7 10
使用-iSCP 选项,您可以将任何 SSH 私钥(用户可以读取)指定为“身份文件”——这可能会消除您的问题(您可以将密钥放在任何您想要的地方,只要它可以被 MongoDB 读取用户并使用-i:-)指定它
深入探讨您提出的问题,您问题的通用 unix 答案是将它们放在用户主目录下的 .ssh 目录中。要找到该主目录,请查看 /etc/passwd(如果您不熟悉其格式,请参阅该文件的联机帮助页)。
如果您注意到用户没有主目录(它设置为无效的内容,或者/),您可以为该用户创建主目录并更新他们的帐户以指向正确的主目录(执行此操作的工具因系统而异,但是vipw通常是一个很好的起点)。这将其简化为上述问题。
至于什么构成“系统账户”,这是一个宗教问题。在我的环境中,“系统帐户”的数字 UID 低于 1000,并且密码被锁定(加密密码设置为“*”)。
其他人会告诉你,它是一个“系统帐户”,它应该nologin作为它的外壳,或者主目录应该在一个特定的地方(或不存在),或者必须满足所有这些条件:-)