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

vsftpd не запускается на EC2

Я использую Ubuntu 13.10 на микроэкземпляре EC2 (хочу продолжать работать на бесплатном уровне, пока не стану более уверенным в EC2). Я успешно установил стек LAMP, но у меня проблемы с настройкой vsftpd. Я последовал за этот учебник, что привело меня к тому моменту, когда я мог установить локальное ftp-соединение (ftp 127.0.0.1) с использованием виртуальных пользователей, и казалось, что активные ftp-соединения работают извне. На этом этапе мой файл vsftpd.conf содержал:

#Основные настройки
слушать = ДА
anonymous_enable = НЕТ
local_enable = ДА
virtual_use_local_privs = ДА
write_enable = ДА
connect_from_port_20 = ДА
secure_chroot_dir = / var / run / vsftpd / пустой
pam_service_name = vsftpd
guest_enable = ДА
user_sub_token = $ USER
local_root = / var / www / sites / $ USER
chroot_local_user = ДА
hide_ids = ДА

# Домашние каталоги, определяемые файлами, помещенными в этот каталог
user_config_dir = / var / www / ftp_users

Затем я внес изменения для поддержки пассивного режима; Открыл необходимый диапазон портов на экземпляре EC2. В vsftpd.conf добавлено следующее:

# Пассивный режим (убедитесь, что брандмауэр сервера оставляет порты в указанном диапазоне открытыми)
pasv_enable = ДА
pasv_max_port = XXXX
pasv_min_port = XXXX
port_enable = ДА
pasv_address = XXXX

Где XXX были правильными портами и ip. После перезапуска службы vsftpd это не сработало (кажется, мне просто отказали в соединении). Я подумал, что это могут быть порты, которые еще не открыты, и перезагрузил экземпляр EC2.

Оттуда я не смог запустить vsftpd, я откатил все сделанные изменения, даже удалил и переустановил vsftpd. При настройке по умолчанию (свежая установка) он по-прежнему не запускается.

Теперь: когда я запускаю службу vsftpd, я получаю «запуск / предварительный запуск» (он не запускается) без сообщения об ошибке. Файл журнала vsftpd не содержит ошибок (он пуст) даже после того, как я добавил все возможные параметры, связанные с журналом, в vsftpd.conf. Если я просматриваю системный журнал, я получаю следующее:

27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851970] [] unmap_single_vma + 0x81 / 0xf0
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851974] [] unmap_vmas + 0x49 / 0x90
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851978] [] exit_mmap + 0x9c / 0x170
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851983] [] mmput + 0x5c / 0x110
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851987] [] do_exit + 0x278 / 0xa40
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851991] [] do_group_exit + 0x3f / 0xa0
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.851995] [] SyS_exit_group + 0x14 / 0x20
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.852001] [] system_call_fastpath + 0x1a / 0x1f
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.852086] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fc000 idx: 0 val: -1
27 февраля 10:30:30 ip-172-31-12-98 ядро: [1084249.852095] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fc000 idx: 1 val: 1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045035] ОШИБКА: неверная карта страниц в процессе vsftpd pte: 8000000000000165 pmd: 242e8067
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045056] страница: ffffea0000000000 количество: -99 mapcount: -99 отображение: (null) index: 0x0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045064] флаги страниц: 0x10 (грязный)
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045073] адрес: 00007f3caefe9000 vm_flags: 00100071 anon_vma: ffff880023dd7e40 сопоставление: (null) index: 7f3caefe9
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045083] CPU: 0 PID: 4266 Comm: vsftpd Tainted: G B 3.11.0-17-generic # 31-Ubuntu
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045086] ffff8800242e5228 ffff8800235b1c68 ffffffff816e7645 00007f3caefe9000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045091] ffff8800235b1cb0 ffffffff81163c68 8000000f80e24165 00000007f3caefe9
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045095] ffff8800242e8f48 ffffea0000000000 00007f3caefe9000 00007f3caefea000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045099] Отслеживание вызовов:
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045112] [] dump_stack + 0x45 / 0x56
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045120] [] print_bad_pte + 0x1a8 / 0x240
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045124] [] unmap_page_range + 0x70e / 0x7f0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045128] [] unmap_single_vma + 0x81 / 0xf0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045132] [] unmap_vmas + 0x49 / 0x90
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045137] [] exit_mmap + 0x9c / 0x170
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045143] [] mmput + 0x5c / 0x110
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045148] [] do_exit + 0x278 / 0xa40
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045152] [] do_group_exit + 0x3f / 0xa0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045156] [] SyS_exit_group + 0x14 / 0x20
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045163] [] system_call_fastpath + 0x1a / 0x1f
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045257] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fda40 idx: 0 val: -1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.045266] ОШИБКА: неправильное состояние rss-counter mm: ffff8800031fda40 idx: 1 val: 1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076745] ОШИБКА: неверная карта страниц в процессе vsftpd pte: 8000000000000165 pmd: 242cf067
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076763] страница: ffffea0000000000 количество: -100 mapcount: -100 сопоставление: (null) index: 0x0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076770] флаги страниц: 0x14 (ссылка | грязный)
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076780] адрес: 00007f10b0663000 vm_flags: 00100071 anon_vma: ffff880023dd7640 сопоставление: (null) index: 7f10b0663
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076790] CPU: 0 PID: 4270 Comm: vsftpd Tainted: G B 3.11.0-17-generic # 31-Ubuntu
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076793] ffff880023dedcf0 ffff8800235b3c68 ffffffff816e7645 00007f10b0663000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076798] ffff8800235b3cb0 ffffffff81163c68 8000000f80e24165 00000007f10b0663
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076802] ffff8800242cf318 ffffea0000000000 00007f10b0663000 00007f10b0664000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076806] Отслеживание вызовов:
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076818] [] dump_stack + 0x45 / 0x56
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076824] [] print_bad_pte + 0x1a8 / 0x240
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076829] [] unmap_page_range + 0x70e / 0x7f0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076833] [] unmap_single_vma + 0x81 / 0xf0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076836] [] unmap_vmas + 0x49 / 0x90
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076841] [] exit_mmap + 0x9c / 0x170
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076847] [] mmput + 0x5c / 0x110
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076851] [] do_exit + 0x278 / 0xa40
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076855] [] do_group_exit + 0x3f / 0xa0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076859] [] SyS_exit_group + 0x14 / 0x20
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076866] [] system_call_fastpath + 0x1a / 0x1f
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076957] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fc780 idx: 0 val: -1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.076966] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fc780 idx: 1 val: 1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110274] ОШИБКА: неверная карта страниц в процессе vsftpd pte: 8000000000000165 pmd: 235b6067
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110293] страница: ffffea0000000000 количество: -101 mapcount: -101 отображение: (null) index: 0x0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110300] флаги страниц: 0x10 (грязный)
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110308] адрес: 00007fbdab202000 vm_flags: 00100071 anon_vma: ffff880023dd7080 сопоставление: (null) index: 7fbdab202
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110319] CPU: 0 PID: 4274 Comm: vsftpd Tainted: G B 3.11.0-17-generic # 31-Ubuntu
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110321] ffff8800242e5000 ffff8800235b5c68 ffffffff816e7645 00007fbdab202000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110326] ffff8800235b5cb0 ffffffff81163c68 8000000f80e24165 00000007fbdab202
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110330] ffff8800235b6010 ffffea0000000000 00007fbdab202000 00007fbdab203000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110334] Отслеживание вызовов:
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110346] [] dump_stack + 0x45 / 0x56
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110353] [] print_bad_pte + 0x1a8 / 0x240
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110357] [] unmap_page_range + 0x70e / 0x7f0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110361] [] unmap_single_vma + 0x81 / 0xf0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110365] [] unmap_vmas + 0x49 / 0x90
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110369] [] exit_mmap + 0x9c / 0x170
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110375] [] mmput + 0x5c / 0x110
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110380] [] do_exit + 0x278 / 0xa40
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110384] [] do_group_exit + 0x3f / 0xa0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110388] [] SyS_exit_group + 0x14 / 0x20
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110394] [] system_call_fastpath + 0x1a / 0x1f
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110504] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fda40 idx: 0 val: -1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.110513] ОШИБКА: неверное состояние rss-counter mm: ffff8800031fda40 idx: 1 val: 1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146320] ОШИБКА: неверная карта страниц в процессе vsftpd pte: 8000000000000165 pmd: 235fb067
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146339] страница: ffffea0000000000 количество: -102 mapcount: -102 отображение: (null) index: 0x0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146346] флаги страниц: 0x14 (ссылка | грязный)
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146356] адрес: 00007f47b9932000 vm_flags: 00100071 anon_vma: ffff880023dd7f40 сопоставление: (null) index: 7f47b9932
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146366] CPU: 0 PID: 4278 Comm: vsftpd Tainted: G B 3.11.0-17-generic # 31-Ubuntu
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146369] ffff880023dc4c38 ffff8800242b7c68 ffffffff816e7645 00007f47b9932000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146374] ffff8800242b7cb0 ffffffff81163c68 8000000f80e24165 00000007f47b9932
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146378] ffff8800235fb990 ffffea0000000000 00007f47b9932000 00007f47b9933000
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146382] Отслеживание вызовов:
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146394] [] dump_stack + 0x45 / 0x56
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146401] [] print_bad_pte + 0x1a8 / 0x240
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146405] [] unmap_page_range + 0x70e / 0x7f0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146409] [] unmap_single_vma + 0x81 / 0xf0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146413] [] unmap_vmas + 0x49 / 0x90
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146418] [] exit_mmap + 0x9c / 0x170
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146424] [] mmput + 0x5c / 0x110
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146428] [] do_exit + 0x278 / 0xa40
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146432] [] do_group_exit + 0x3f / 0xa0
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146436] [] SyS_exit_group + 0x14 / 0x20
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.146441] [] system_call_fastpath + 0x1a / 0x1f
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.148847] ОШИБКА: неправильное состояние rss-counter mm: ffff8800031fda40 idx: 0 val: -1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.148859] ОШИБКА: неправильное состояние rss-counter mm: ffff8800031fda40 idx: 1 val: 1
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.181465] ОШИБКА: неверная карта страниц в процессе vsftpd pte: 8000000000000165 pmd: 242dd067
27 февраля 10:31:40 ip-172-31-12-98 ядро: [1084320.181483] страница: ffffea0000000000 количество: -103 mapcount: -103 отображение: (null) index: 0x0

(Показаны только первые 100/252 строки, остальные аналогичны). Единственные ссылки на ошибки, которые я вижу: ОШИБКА: неправильное состояние rss-counter и ОШИБКА: неправильная карта страниц в процессе vsftpd

Но я не могу найти никакой информации о том, что это означает и как это исправить (при условии, что это действительно связано в первую очередь).

Мои знания и навыки в Linux ограничены, не мог бы кто-нибудь пролить свет на то, что произошло / происходит / как это исправить.

Спасибо

PS Я знаю, что SFTP лучше, мне нужно настроить FTP.

редактировать

Обратите внимание, что приведенный выше дамп получается после СВЕЖЕЙ установки vsftpd, поэтому используются параметры конфигурации по умолчанию, а именно

слушать = ДА
anonymous_enable = НЕТ
local_enable = ДА
dirmessage_enable = ДА
use_localtime = ДА
xferlog_enable = ДА
connect_from_port_20 = ДА
secure_chroot_dir = / var / run / vsftpd / пустой
pam_service_name = vsftpd
rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem
rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.key

Я установил группу www, содержащую пользователя по умолчанию (ubuntu), которому принадлежит / var / www / (согласно этому). Из-за того, что настройки по умолчанию и пользователь ubuntu используются для создания ошибок, я не думаю, что пользователи / группы пользователей связаны. (Я могу ошибаться, конечно)

В руководстве, которому я следовал, я установил libpam-pwdfile, который я оставил нетронутым при очистке vsftpd. Я не хочу пытаться удалить этот пакет, так как не уверен, был ли он установлен и использовался до того, как я начал. Текущие настройки vsftpd больше не используют эту библиотеку, поэтому я не думаю, что это связано с ошибкой.

Пожалуйста, объясните, что означают мои ошибки и почему я их получаю. Я хотел бы понять, что происходит, или, по крайней мере, найти что-то новое для решения этой проблемы.

Шаг №1: Установите vsftpd

SSH к вашему серверу EC2. Тип:

sudo yum установить vsftpd

Это должно установить vsftpd.

Шаг № 2: Откройте порты FTP на вашем экземпляре EC2

Затем вам нужно открыть порты FTP на вашем сервере EC2. Войдите в Консоль управления AWS EC2 и выберите Группы безопасности в дереве навигации слева. Выберите группу безопасности, назначенную вашему инстансу EC2. Выберите вкладку Inbound и добавьте диапазон портов 20-21.

Также добавьте диапазон портов 1024-1048

Шаг № 3: Обновите файл vsftpd.conf

Отредактируйте файл конфигурации vsftpd, набрав:

sudo vi /etc/vsftpd/vsftpd.conf

Отключите анонимный FTP, изменив эту строку:

anonymous_enable = ДА

к

anonymous_enable = НЕТ

Затем добавьте следующие строки в конец файла vsftpd.conf:

pasv_enable = ДА pasv_min_port = 1024 pasv_max_port = 1048 pasv_address =

Шаг # 4: перезапустите vsftpd

Перезапустите vsftpd, набрав:

sudo /etc/init.d/vsftpd перезапуск

sudo chkconfig vsftpd on

Создать нового пользователя в экземпляре EC2 довольно просто. Например, чтобы создать пользователя bret, введите:

sudo adduser bret sudo passwd bret

Следуйте этой процедуре и проверьте, работает ли это для вас.

Домашний каталог bydeafult этого пользователя - / home / $ user, и в этом случае вы определили путь, отличный от домашнего каталога, в соответствии с вашим vsftpd.conf. Вот почему возникает ошибка сопоставления, попробуйте изменить домашний каталог пользователя на / var / www / sites / $ USER, а затем предоставить соответствующие разрешения для папок. Как и в / var / www / sites / $ USER должен владеть root: root и «html», если там, или папка с содержимым веб-сайта должна иметь доступ www-data: ftpgroup и chmod 755.

После того, как возникла такая же проблема, я могу подтвердить это с помощью vsftpd 3.02 и версии ядра 3.11.0-17 и 3.11.0-18 (только что обновил сегодня утром) сбой FTP-сервера при запуске.

[   19.711407] BUG: Bad rss-counter state mm:ffff88003cf0b680 idx:0 val:-1
[   19.711417] BUG: Bad rss-counter state mm:ffff88003cf0b680 idx:1 val:1
[   19.716021] init: vsftpd main process (1053) terminated with status 2
[   19.716224] init: vsftpd respawning too fast, stopped

Как обходной путь, загрузка из ядра 3.11.0-15 сделайте трюк, и служба запустится снова.