Настройка SFTP


Tagged , , , ,

Более-менее грамотная настройка sftp с разграничением прав:
Делал на Debian 7.0 (wheezy)

# addgroup sftpusers
# useradd -d /home/someuser -g sftpusers -s /bin/false someuser
# mkdir -p /home/someuser
# passwd someuser

Далее конфигурируем /etc/ssh/sshd_config:
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

в конце файла добавляем
Match User someuser
ChrootDirectory %h
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no

(После строки Match, все строки должны быть с отступом(пробел в начале строки))
Сохраняем, выходим.
Перезапускаем sshd:
# /etc/init.d/ssh restart

Далее самое интересное. Пользователь сидит в своей песочнице, блуждать по системным папкам он не может, но что делать, если надо дать ему доступ в какую то директорию, которая находится за пределами его домашней? ln в этой случем не работает.
Тут приходит на помощь очень полезная команда mount.
И так, дадим пользователю доступ к его вебсайту за пределами его домашней директории:
# mkdir -p /home/someuser/www
# mount --bind /var/www/somesite.ru/public /home/someuser/www

Ну и не забывайте дать права на запись для этого пользователя в /var/www/somesite.ru/public

Share:

No comments

RSS / trackback

Respond