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

Разрешить внешнему провайдеру доступ к веб-папке в CentOS. (Вариант SFTP)

Следующая проблема: мы запускаем веб-сервер CentOS и хотели бы предоставить доступ внешнему подрядчику, которому требуется только доступ к нашей веб-папке «/ var / www» для изменения / загрузки файлов.

Я попробовал настроить тюремное заключение SFTP (согласно следующей документации: http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/), но я не могу заставить его работать по следующей причине: вся веб-папка назначила Apache User apache: apache, как обычно в CentOS. Но SFTP должен иметь права root: root, иначе появится следующая ошибка:

фатальный: неправильное владение или режимы для компонента каталога chroot "/ var / www /" [postauth] Итак, как я могу настроить SFTP или другое решение, чтобы сохранить папку "www" apache: apache и разрешить доступ другому пользователю Это?

Есть ли другие варианты решения этой проблемы, кроме SFTP, или SFTP - правильный выбор?

Заранее спасибо за вашу помощь!

Наконец, я использовал SFTP для решения упомянутой проблемы. Основные проблемы, связанные с файлом permissions. Я сделал следующие шаги (запустил CentOS 7.2):

Права доступа к папке Установлены следующие права доступа к файлам. Включая липкий бит (поясняется после кода).

sudo find /var/www/html/ -type f -exec chmod 664 {} \;
sudo find /var/www/html/ -type d -exec chmod 775 {} \;
sudo find /var/www/html/ -type d -exec chmod g+s {} \; # Set SGID in order to keep group for newly created files
sudo chown -R apache:webmasters /var/www/html/website/data/ # As data directory must be writable by apache
chown root:root /var/www/

Создать группу и пользователей

Создайте пользователя для внешнего провайдера и установите новый пароль.

groupadd webmasters
useradd -g webmasters -d /var/www/ -s /sbin/nologin externalProvider
passwd externalProvider

Настроить подсистему sftp-server в sshd_config

vim /etc/ssh/sshd_config

Удалите комментарии из существующей подсистемы и добавьте:

Subsystem       sftp    internal-sftp

Добавить добавить конец sshd_config

Match Group sftpusers
       Match Group webmasters
        ChrootDirectory /var/www/
        AllowTCPForwarding no
        X11Forwarding no
        ForceCommand internal-sftp

Перезапустить службу sshd

systemctl restart sshd

Войдите через SFTP, чтобы проверить соединение

sftp externalProvider@hostname

Безопасность

SELinux является принудительным и никогда не был проблемой в отношении этой настройки SFTP.