Пароль пользователя не работает vsftpd сервер
Я создал пользователя с:
useradd -m -s /bin/false testuser
Также я добавил vsftpd.user_list 'testuser' и изменил пароль с помощью passwd. После перезапуска службы vsftpd я хотел войти на сервер, но получил ошибку 530 (неверный вход). Почему я не могу войти на сервер? С пользователем по умолчанию, который был создан при установке сервера, все работает. Зачем?
Спасибо
3 ответа
Я решил это с помощью переустановки vsftpd. Теперь пользователь работает.
У меня была похожая ситуация в прошлом, в моем случае проблема заключалась в том, что /bin/false
это не оболочка (Извините, не могу объяснить лучше, забыл фон. Я думаю, что это как-то связано с PAM.)
Многие старые уроки рекомендуют настройки /bin/false
в качестве оболочки для пользователей без входа в систему, но лучший выбор /usr/sbin/nologin
,
Попробуйте установить /usr/sbin/nologin
в качестве оболочки входа для пользователей FTP:
usermod -s /usr/sbin/nologin USERNAME
Затем попробуйте войти снова.
@lxg Вы были очень близки к тому, чтобы сделать это.
я согласна с тем что /usr/sbin/nologin
не является оболочкой, потому что вы не добавили ее в /etc/shells
, Так что, если вы добавите эту строку в файл оболочек, например, так:
# / etc / shells: допустимые логины / Бен / ш / Бен / тире / Бен / Баш / Бен / rbash / USR / SBIN / NOLOGIN
Это решает проблему.
Конечно, команда для входа в систему как пользователь, вы должны использовать
usermod -s /usr/sbin/nologin USERNAME
и сопоставьте разрешения общего каталога.
Для отката возможности входа в систему просто используйте:
usermod -s / bin / bash USERNAME
КСТАТИ. Только так у меня работает на Ubuntu 16.04.