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

Ограничить папку SFTP с разрешениями PHP

Я хочу, чтобы у пользователя был доступ к /var/www/domain.com/public_html, поэтому я следовал этим руководствам, но с моими изменениями, чтобы мои пользователи могли загружать прямо на свои домены:

https://www.linode.com/docs/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu

https://bensmann.no/restrict-sftp-users-to-home-folder/

Итак, я использую ubuntu 14.04, и вот что я сделал:

В моем / etc / ssh / sshd_config

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

#...
UsePAM yes

Match group www-data
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Также создал пользователя с именем username и выполните следующие команды:

sudo usermod username -g www-data
sudo usermod username -d /var/www/domain.com
sudo usermod username -s /bin/false
sudo chown root:root /var/www/domain.com
sudo chmod 0755 /var/www/domain.com
sudo chown -hR username:www-data /var/www/domain.com/public_html
sudo service ssh restart

Когда я пытаюсь использовать sftp, я получаю эту ошибку

Ошибка записи: сломанный канал Не удалось прочитать пакет: сброс соединения одноранговым узлом

Что мне не хватает?

Наконец, я снова проверил разрешения, и я ошибся, я просто chown root: root и chmod 755 весь путь к /var/www/domain.com, и теперь он отлично работает