Предоставление sftp пользовательского доступа к/var/www каталогу

Я создал пользователя и сделал его корневой каталог /var/www/mysite/ftpdir

Я также добавил пользовательскую запись Соответствия для этого пользователя в sshd_config с ChrootDirectory, который указывает на /var/www/mysite

Я перезапустил ssh взять это.

Когда я вхожу в систему с sftp - пользователь все еще переходит к старому каталогу пользователя т.е. /home/user

Что я пропускаю?

12
задан 30 May 2012 в 16:07

3 ответа

Это процесс:

  1. Добавить пользователя в группу: sudo usermod -aG www blub, как в . Какой самый простой способ редактировать и добавлять файлы в & quot; / var / www & quot;?

    или просто используйте sudo adduser <username> www-data

  2. Установите vsftpd sudo apt-get install vsftpd
  3. Настройте vsftpd для удаленного доступа: sudo nano /etc/vsftpd.conf и внутри набора файлов

    chroot_local_user=YES
    

    и убедитесь, что это закомментировано:

    #chroot_list_enable=YES
    

    согласно документации .

  4. Перезапустите nsftp: sudo service vsftpd restart
  5. Настройте домашний каталог пользователя на веб-каталог (не в /home):

    sudo usermod -d /var/www/mysite/ftpaccessdir <username>
    
  6. Сконфигурируйте ssh chroot

    sudo nano /etc/ssh/sshd_config
    

    добавьте в конец следующее:

    Subsystem  sftp  internal-sftp
    Match user <username>
        ChrootDirectory /var/www/site
        ForceCommand internal-sftp
    AllowTcpForwarding no
    

    и убедитесь, что далее в файле это закомментировано (т.е. перед тем, который вы только что добавили)

    #Subsystem sftp /usr/lib/openssh/sftp-server
    
  7. Перезапустите ssh

    sudo service ssh restart
    
  8. Измените разрешения для apache:

    chown root:root /var/www
    chown root:root /var/www/site
    chmod 755 /var/www
    

    Как в документы здесь .

  9. Убедитесь, что ваш каталог имеет доступ к www-данным

    sudo chown -R www-data:www-data /var/www/site
    chmod 755 /var/www/site
    
0
ответ дан 30 May 2012 в 16:07

Если вы получаете сообщение об отказе в соединении в конце, то убедитесь, что «Подсистема sftp internal-sftp» стоит после «UsePAM yes» . Если нет, тогда обновите и перезапустите ssh, и все заработало.

0
ответ дан 30 May 2012 в 16:07

У меня есть простой метод, и это работало на меня для апача.

sudo useradd -d /var/www demo_user -g www-data
sudo passwd demo_user
sudo service ssh restart

Вот именно в случае, если Вы все еще сталкиваетесь с использованием проблемы разрешения chmod и chown для обращения к ним согласно потребностям.

0
ответ дан 22 October 2019 в 14:35

Другие вопросы по тегам:

Похожие вопросы: