Я на SLES 10.1, и пытаюсь настроить vsftpd, чтобы разрешить вход в систему root. Кто-нибудь знает как это сделать?
Пока у меня есть это:
local_enable=YES
chroot_local_user=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.users
И я добавил root в /etc/vsftpd.users. Когда я пытаюсь войти, вот что я получаю:
$ ftp susebox Подключен к susebox.example.com. 220-FTP-сервер (пользователь '[email protected]') 220 Пользователь (susebox.example.com:(none)): root 331-пароль: 331 Пароль: Соединение закрыто удаленным хостом. [. ____] [.____] C:... \> [.____]
Кстати, если вы не знаете ответ, пожалуйста, не беспокойте меня, рассказывая о том, как я не должен разрешать вход в систему root. Я знаю, что я делаю, и я принимаю полную ответственность за любые разрывы в пространственно-временном континууме, которые могут возникнуть.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Включение root-входа для FTP - это Очень плохая идея по многим, многим причинам.
Отредактируйте свой vsftpd.conf
и добавьте следующую строку:
userlist_deny=YES
Правка user_list
и ftpusers
и закомментируйте "root".
Для тех (как я), использующих VSFTPD на сервере Ubuntu в середине 2013 года, кажется, что root может войти через [~ # ~] sftp [~ # ~] по умолчанию никаких особых изменений не требуется.
Однако, если вам действительно нужен [~ # ~] ftp [~ # ~] доступ, все, что мне нужно было сделать, это :
Sudo nano /etc/ftpusers
И закомментируйте строку с root
, поместив #
на старте. Сохраните файл, и перезагрузка сервера даже не требуется.
vi /etc/pam.d/vsftpd
-> если вы используете vsftpd
найти
auth blablabla sense=deny file=/etc/ftpusers
Сделать это, чтобы быть sense= allow
или вы можете раскомментировать script
над ним, либо изменить файл: ftpusers или добавить другие файлы ftpusers
для Debian 8 Джесси, вам просто нужно отредактировать /etc/ftpusers
и закомментируйте или удалите root. больше ничего не нужно, просто перезапустите vsftpd
В новых версиях может потребоваться изменить pam_service_name=vsftpd
до pam_service_name=ftp
ближе к концу вашего /etc/vsftpd.conf
файл. В противном случае вы можете получить ошибку аутентификации при входе в систему для пользователя root (или любого пользователя), даже если разрешения являются правильными.
Начиная с 2020 года, после новой установки vsftpd требуется только изменить/etc/ftpusers:
root
daemon
bin
sys
adm
...
К
#root
daemon
bin
sys
adm
...
Файл ftpuserlist содержит список пользователей, которым запрещен доступ по FTP.
Также,
Если вы используете программный брандмауэр (например, UFW или IPTables), обязательно откройте порты FTP, а также настройте пассивный режим VSFTPD:
pasv_enable = Да
Pasv_max_port = 10100
Pasv_min_port = 1009
Pasv_address = xxx.xxx.xxx.xxx
Вы должны выбрать диапазон портов, который соответствует вашей сети/потребностям, а затем разрешить этот диапазон портов на брандмауэре, в противном случае вы получите постоянный "227 Вход в пассивный режим" с последующим отключением.
Если вы используете Amazon EC2, Google Cloud, Azure или любое другое решение, не забудьте также разрешить эти порты в группах безопасности/правилах брандмауэра на консоли.
Vsftpd может использовать pam для аутентификации, поэтому я предлагаю вам проверить /etc/pam.d/vsftpd. Вы, вероятно, обнаружите, что это pam, который был настроен для предотвращения входа root.