У меня есть сервер Ubuntu 18.04 и я установил vsftpd.
Я создал нового FTP-пользователя, следуя этому руководству: https://devanswers.co/installing-ftp-server-vsftpd-ubuntu-18-04/
Я хочу заблокировать пользователя в папке: /var/www/html/mydomain.com/
, но у меня не получается, независимо от того, что я установил в файле /etc/vsftpd.conf
.
Я попробовал, например, эти предложения:
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
Я также попробовал добавить:
local_root=/
или
local_root=/var/www/html/mydomain.com/
Пользователь может успешно войти в систему, но я не могу заблокировать его в любой папке. Любой совет будет замечательным. Спасибо.
После нескольких часов поиска я нашел ответ самостоятельно:
запустите в терминале:
sudo nano /etc/ssh/sshd_config
В конце файла добавьте:
Match User yourusername
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/html/yourdomain.com/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Замените yourusername на имя ftp пользователя, которого вы создали, а также замените путь ChrootDirectory.
запустите в терминале:
sudo systemctl restart sshd
Более подробно здесь: https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-18-04