Как создать пользователя sftp для доступа только к определенному каталогу?

Как создать пользователя sftp для доступа только к определенному каталогу?

Я хочу создать пользователей для sftp с ограниченным доступом к определенным папкам.

Моя структура папок выглядит так:

/var/www/site1/files/

/var/www/site2/files/

/var/www/site3/files/

Я хочу создать пользователя sftp user1, чтобы иметь доступ /var/www/site1/files/только для загрузки файлов веб-сайта с помощью filezila и не иметь возможности просматривать другие папки.

и то же самое для пользователя2 с ограниченным доступом к/var/www/site2/files/

и для пользователя3 с ограниченным доступом к/var/www/site3/files/

решение1

Вы в значительной степени следовали за этим.
Лучший способ сделать это:

  1. Смонтируйте каждый из 3 каталогов в /homeкаталоги, добавив следующие строки /etc/fstab:

    /var/www/site1/files/ /home/site1/htdocs/ bind 0 0
    /var/www/site2/files/ /home/site2/htdocs/ bind 0 0
    /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
    
  2. Используйте mount -aдля мгновенного включения ездовых животных.

  3. Убедитесь, что вы добавили пользователей site1, site2, site3 в одну и ту же группу (например, sftpusers или sftponly). Вы можете использовать эти команды для добавления пользователей в группы:

    usermod -aG sftponly site1
    usermod -aG sftponly site2
    usermod -aG sftponly site3
    
  4. Создайте /home/{site1,site2,site3}домашние каталоги для соответствующих пользователей, используя:

    usermod -d /home/site1 site1
    usermod -d /home/site2 site2
    usermod -d /home/site3 site3
    
  5. Добавьте следующее в ваш /etc/ssh/sshd_config:

    Match group sftponly
          ChrootDirectory %h
          X11Forwarding no
          AllowTcpForwarding no
    
  6. Наконец перезапустите службу ssh с помощью:

    service ssh restart
    

Видетьэтот пост на Digital Oceanдля получения подробной информации.

решение2

После того, как следовалответ кришны чалисавам может потребоваться изменить права собственности и разрешения.

Например, для пользователя site1:

chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly

Связанный контент