Включение доступа к оболочке для пользователя cyrus
Мой текущий пользователь Cyrus в /etc/passwd
выглядит так:
cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/sbin/nologin
Я хочу иметь возможность дать ему доступ к оболочке, но ограничить его /var/lib/imap
а также /var/spool/imap
, Как включить оболочку, чтобы разрешить это с помощью usermod? И как только это будет сделано, будет ли cyrus
пользователь сможет подключиться к серверу через ssh или я должен внести изменения в sshd_config?
Цель: необходимо rsync для резервного копирования почты с помощью cyrus
пользователь
2 ответа
Я бы порекомендовал вам использовать ключ ssh, как я рекомендовал здесь в прошлом. Я немного тороплюсь, поэтому я просто лениво скопирую и вставлю свой предыдущий текст и модифицирую его для целей rsync.:)
Использование ключей SSH имеет одну уникальную особенность по сравнению с паролем: вы можете указать разрешенные команды. Это можно сделать, изменив файл ~/.ssh/authorized_keys на сервере.
Например,
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...
С помощью ключей вы также можете предоставить временный доступ некоторым пользователям (скажем, консультантам) к серверу, не раскрывая пароль для этой конкретной учетной записи. После того, как консультант завершил свою работу, временный ключ может быть удален.
Пытаться usermod -s /bin/bash cyrus
, Затем проверьте, изменился ли нологин, используя cat /etc/passwd
, Затем попробуйте подключиться к серверу. Вы должны быть в состоянии войти в домашний каталог, который в вашем примере /var/lib/imap