[QUOTE]
Александр Медведев написал:
open_basedir не поможет?[/QUOTE]
Не проверял.
[QUOTE]
Дмитрий Трофимов написал:
Существующий SFTP не подойдет для этой задачи?[/QUOTE]
Можно и с ним.
Редактируем /etc/ssh/sshd_config
[CODE]
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /home/jail/
X11Forwarding no
AllowTcpForwarding no
[/CODE]
Добавляем пользователя
[CODE]
adduser userlogin -g600 -o -u600 -d /home/jail/[/CODE]
Добавляем группу для jail
[CODE]groupadd sftp[/CODE]
Добавляем пользователя в группу
[CODE]usermod -aG sftp userlogin[/CODE]
Изменяем права для jail на root
[CODE]chown root. /home/jail/[/CODE]
Создаём в /home/jail директорию для монтирования требуемого сайта.
Например
[CODE]mkdir /home/jail/dev.site.tld
chown bitrix. /home/jail/dev.site.tld[/CODE]
Если требуемый сайт расположен в /home/bitrix/ext_www/dev.site.tld
То монтируем его в созданную директорию следующим образом.
[QUOTE]mount --bind /home/bitrix/ext_www/dev.site.tld /home/jail/dev.site.tld[/QUOTE]
Если нужно, чтобы это сохранялось после перезагрузки сервера, то добавляем в /etc/fstab
[CODE]/home/bitrix/ext_www/dev.site.tld /home/jail/dev.site.tld none bind 0 0[/CODE]
Перезагружаем sshd.
[CODE]systemctl reload sshd[/CODE]
Куда больше телодвижений, чем с ftp, результат тот же.
Проверялось на centos 7. Не помню есть ли такой функционал в openssh, который идет с centos 6.
Если требуется ещё и ssh доступ, то только настоящий jail настраивать, инструкций в сети полно.
Скрытый текст |
---|
Стоит рассмотреть переход на git и забыть про sftp. Использовать для деплоя соответствующие инструменты. (gitlab-ci/jenkins/teamcity и т.п.) |
[QUOTE]
Александр Медведев написал:
У меня CentOS минимал, думаю в нём вообще нет sftp сервера[/QUOTE]
sftp — это функционал стандартного openssh. Он есть в minimal.