我目前在/etc/passwd中的cyrus用户如下所示:
cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/sbin/nologin我希望能够授予它shell访问权限,但将其限制在/var/lib/imap和/var/spool/imap上。如何使用usermod启用shell?一旦完成,cyrus用户将能够使用ssh进入服务器,还是应该在sshd_config中进行更改?
用途:需要使用cyrus用户重新同步邮件以进行备份
发布于 2013-08-20 09:14:56
我建议您像使用在过去这里推荐一样使用ssh密钥。我有点着急,所以我会懒洋洋地复制粘贴我以前的文本,并修改它以达到rsync的目的。:)
与密码登录相比,使用ssh键确实有一个独特的特性:您可以指定允许的命令。这可以通过修改服务器上的~/..ssh/特授权_键文件来完成。
例如,
command="/usr/bin/rsync", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...将只允许命令‘/usr/bin/rsync’与该特定的键。
还可以为密钥指定允许的主机:
from="yourclient,yourotherclient", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...或者将两者结合起来:
from="yourcyrusserver", command="/usr/bin/rsync", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...使用密钥,您还可以向某个用户(例如顾问)授予对服务器的临时访问权,而无需透露该特定帐户的密码。当顾问完成他/她的工作后,临时密钥可以被移除。
发布于 2013-08-20 06:08:54
试试usermod -s /bin/bash cyrus。然后,检查nologin是否使用cat /etc/passwd进行了更改。然后在服务器上尝试ssh-ing。您应该能够登录到主目录,在您的示例中是/var/lib/imap。
https://serverfault.com/questions/532217
复制相似问题