Мой текущий пользователь 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
пользователь
Я бы порекомендовал вам использовать ключ 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
. Затем попробуйте подключиться к серверу по ssh. Вы должны иметь возможность войти в домашний каталог, который в вашем примере /var/lib/imap