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