Я настраиваю нового пользователя пусть будет его имя ftpguy
. У него есть доступ только к одному каталогу /var/www/xxx
. Я уже настроил каталог, чтобы у него были права на запись и чтение. Пользователь также не может войти в систему через ssh, поскольку я отключил это, изменив его оболочку на /sbin/nologin
.
Кроме того, в конфигурации vsftpd я включил chroot_local_user
. Теперь, когда я вхожу с ftp, я получаю ошибку аутентификации.
Connect socket #1008 to xxxxxxxx, port 21...
220 Welcome to blah FTP service.
USER ftpguy
331 Please specify the password.
PASS **********
530 Login incorrect.
Я несколько раз менял пароль на другой, используя команду passwd, ничего не происходит, я по-прежнему ошибаюсь.
Однако я могу без проблем войти с моими кредитными данными ssh на мой ftp-сервер (я не использую ключ).
Проверьте свою конфигурацию vsftpd на наличие параметра check_shell, если он установлен на YES, измените его на NO. Если его вообще нет, добавьте его и также установите НЕТ. Установив check_shell в YES (и YES по умолчанию для этого) vsftpd проверит, находится ли пользовательская оболочка в / etc / shells, если ее там нет, он запретит вход в систему.