Назад | Перейти на главную страницу

Предоставить пользователю SCP доступ к домашнему каталогу другого пользователя

Обычно мы используем логины с открытым ключом для нашего сервера, но для новой службы подписки требуется имя пользователя и пароль для доступа SCP к учетной записи пользователя (это Vaultpress - утилита удаленного резервного копирования для Wordpress). У нас есть блог, работающий под UserA в / home / usera / public_html. Vaultpress требует имя пользователя и пароль для доступа к SCP, но мы не хотим давать им учетные данные пользователя A.

Итак, возникает вопрос: как нам создать пользователя B, который может входить только в SCP и который имеет доступ только к домашнему каталогу UserA? И как мы можем гарантировать, что любые файлы, написанные пользователем B, доступны для редактирования / принадлежат пользователю A?

Вы можете просто использовать для этого POSIX acl. Создать пользователя B с его группой по умолчанию как А (Я предполагаю, что группа пользователей по умолчанию А группа А)

$ useradd -g A B # This creates a new user B with default group A

Теперь вам нужно настроить правильные разрешения

$ chmod g+x /home/A # The group member needs execute permission to reach public_html directory
$ find /home/A/public_html -type d -exec chmod g+rwx {} \; # This will give all directories under public_html rwx group permissions
$ find /home/A/public_html -type d -exec chmod g+rw {} \; # This will give all files under public_html rw group permissions
$ sudo -u A -i "umask 002 && echo umask 002 > ~/.bashrc" && sudo -u B -i "umask 002 && echo umask 002 > ~/.bashrc" # This will make sure all future permissions are OK for your purpose

На основе вышеуказанной настройки B может читать и писать в каталоге public_html. AFAIK, Vaultpress нужны разрешения на запись для восстановления резервных копий. Вы можете удалить разрешение на запись, если не планируете использовать функцию автоматического восстановления Vaultpress. Кроме того, все файлы будут доступны для редактирования исходному пользователю. А.

Любой файл / каталог, созданный B будет принадлежать группе А по умолчанию. Это разделит право собственности на эти файлы между пользователями A и B.

Пожалуйста, добавьте комментарий, если хотите, чтобы я что-то уточнить.

Возможно, вы захотите изучить sftp с chrooted средами. Обычно у вас будет две службы ssh, работающие на разных портах.

Один предназначен только для sftp (пользователь / пароль), привязанного к определенному каталогу, который вы настроили, другой - для ваших обычных ssh-соединений для обслуживания сервера через аутентификацию с помощью ключа pub.

Взгляните на это: http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/