Я использую сервер Ubuntu 10.04 LTS и хочу создать пользователей, которые могут получить доступ к серверу только с FTP.
Что я сделал до сих пор:
- устанавливать
vsftpd
- Создать нового пользователя с установленной по умолчанию оболочкой входа в систему
/bin/false
Все обычные пользователи на сервере могут получить доступ к своей домашней папке через ftp, но пользователи, которым удаленный доступ к оболочке удален путем установки этого параметра /bin/false
, также не могут войти по ftp.
Я не понимаю, как оболочка доступа влияет на vsftpd
сервер? Как я могу включить доступ по FTP без повторного включения оболочки?
Обновление:
я нашел эту ссылку, в которой говорится, что я должен использовать /sbin/nologin
(кажется, /usr/sbin/nologin
в Ubuntu) и что это не должно влиять на доступ по FTP, но это не работает в моем случае.
Ответы:
Я не знаю, является ли хорошей практикой отвечать на мой собственный вопрос, но я нашел простое решение, позволяющее войти по ftp.
Мне нужно было добавить строку
в файл / etc / shells. Сразу после этой модификации ftp-сервер начал принимать логин от пользователей, для которых установлена оболочка / usr / sbin / nologin. Поэтому они не могут войти через ssh, но он работает с ftp именно так, как я хотел.
Спасибо за ваши полезные комментарии.
источник
Установите пользовательскую оболочку обратно
/bin/false
(или другую недопустимую оболочку), затем установите/bin/false
в/etc/shells
.Я вижу серьезную проблему безопасности с установкой
/usr/sbin/nologin
в/etc/shells
. Вы предоставляете FTP (и, возможно, другим) доступ ко всем демонам и логинам, которые имеют в/usr/sbin/nologin
качестве оболочки.источник
/etc/nologin.txt
чтобы пользователь ftp мог знать, что это только ftp или что-то подобное.