Назад | Перейти на главную страницу

Как настроить vsftpd, чтобы разрешить вход с правами root?

Я использую 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
Connected to susebox.example.com.
220-FTP Server (user 'me@example.com')
220
User (susebox.example.com:(none)): root
331-Password:
331
Password:
Connection closed by remote host.

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 Jessie вам просто нужно отредактировать /etc/ftpusers и закомментировать или удалить root. больше ничего не нужно, просто перезапустите vsftpd

Vsftpd может использовать pam для аутентификации, поэтому я предлагаю вам проверить /etc/pam.d/vsftpd. Вы, вероятно, обнаружите, что это pam, который был настроен на предотвращение входа в систему root.

В более новых версиях вам может потребоваться изменить 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.

Также,

  1. Если вы используете программно управляемый брандмауэр (например, UFW или IPTables), обязательно откройте порты FTP, а также настройте пассивный режим VSFTPD:

    pasv_enable = Да
    pasv_max_port = 10100
    pasv_min_port = 1009
    pasv_address = xxx.xxx.xxx.xxx

    Вы должны выбрать диапазон портов, который соответствует вашей сети / потребностям, а затем разрешить этот диапазон портов на вашем брандмауэре, иначе вы продолжите получать постоянное сообщение «227 Entering Passive Mode» с последующим отключением.

  2. Если вы используете Amazon EC2, Google Cloud, Azure или любое другое решение, не забудьте также разрешить эти порты в группах безопасности / правилах брандмауэра на консоли.