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

Создание пользователя FTP для доступа к определенному каталогу с помощью SFTP в Linux Ubuntu Server 14.04 LTS

Я создаю пользователя FTP в Linux Ubuntu Server 14.04 LTS, но когда я пытаюсь войти через FileZilla с SFTP, я получаю следующую ошибку:

Received unexpected end-of-file from SFTP server

Если я попытаюсь подключиться к своему пользователю root, все будет в порядке, поэтому я, должно быть, что-то пропустил при создании нового пользователя. Вот что я сделал:

Прежде всего, я создал фальшивую оболочку в / etc / shells, назвав ее / bin / false. Я создаю группу с именем ftpgroup.

sudo groupadd ftpgroup

Затем я создал в нем пользователя ftp

sudo useradd --home /var/www/html/mydir --group ftpgroup --shell /bin/false myftpuser

Я дал пароль пользователю

sudo passwd myftpuser

И сделал его владельцем домашнего каталога, который я ему дал

sudo chown -R myftpuser /var/www/html/mydir

наконец я установил привилегии для папки

sudo chmod 755 /var/www/html/mydir

Я знаю, что изменение оболочки / bin / false на / bin / bash заставит ее работать, но это даст моему пользователю возможность доступа к командам оболочки, чего я бы по возможности избегал, я просто хочу, чтобы он имел доступ к файлам в свой каталог и не более того.

Измените владельца вашего / var / www / html / mydir с помощью команды ниже

sudo chown -R root:ftpgroup /var/www/html/mydir

проверьте это для справки http://devtidbits.com/2011/06/29/implement-a-sftp-service-for-ubuntudebian-with-a-chrooted-isolated-file-directory/

Вы можете изменить /etc/ssh/sshd_config немного и использовать

Match User myftpuser
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTcpForwarding no
   PermitTunnel no
   X11Forwarding no

Конечно, заменить username с именем пользователя, которое вы хотите ограничить. Также возможно сопоставить группу пользователей с Match Group параметр.

В любом случае, после этой модификации и перезагрузки конфигурации вашего ssh-сервера он должен работать.