vsftpd不是从EC2开始的

我在EC2微型实例上运行Ubuntu 13.10(希望继续在免费层运行,直到我对EC2更有信心)。 我已经成功安装了LAMP堆栈,但是在设置vsftpd时遇到了问题。 我遵循这个教程 ,这使我可以使用虚拟用户build立一个本地ftp连接(ftp 127.0.0.1),这看起来像是外部的主动ftp连接。 在那个阶段,我的vsftpd.conf文件包含:

#基本设置
听= YES
anonymous_enable = NO
local_enable = YES
virtual_use_local_privs = YES
WRITE_ENABLE = YES
connect_from_port_20 = YES
secure_chroot_dir =的/ var /运行/ VSFTPD /空
pam_service_name = VSFTPD
guest_enable = YES
user_sub_token = $ USER
local_root = /无功/networking/网站/ $ USER
chroot_local_user = YES
hide_ids = YES

#放置在这个目录中的文件决定的主目录
user_config_dir = /无功/networking/ ftp_users

然后我做了改动来支持被动模式; 在EC2实例上打开所需的端口范围。 将以下内容添加到vsftpd.conf中:

#被动模式(确保服务器的防火墙保持打开指定范围内的端口)
pasv_enable = YES
pasv_max_port = XXXX
pasv_min_port = XXXX
port_enable = YES
pasv_address设置= XXXX

其中XXX已经是正确的端口和IP。 在vsftpd服务重新启动后,它没有工作(我想我刚刚被连接拒绝)。 我认为这可能是未打开的端口,我重新启动了EC2实例。

从那里我无法运行vsftpd,回滚了我所做的所有更改,甚至卸载并重新安装vsftpd。 使用默认设置(全新安装),它仍然不会运行。

现在:当我运行vsftpd服务时,我得到“启动/预启动”(它不运行),没有错误信息。 即使在将所有可能的日志相关设置添加到vsftpd.conf之后,vsftpd日志文件也不会包含任何错误(它是空的)。 如果我尾巴syslog,我得到以下内容:

2月27日10:30:30 ip-172-31-12-98内核:[1084249.851970] [] unmap_single_vma + 0x81 / 0xf0
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851974] [] unmap_vmas + 0x49 / 0x90
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851978] [] exit_mmap + 0x9c / 0x170
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851983] [] mmput + 0x5c / 0x110
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851987] [] do_exit + 0x278 / 0xa40
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851991] [] do_group_exit + 0x3f / 0xa0
2月27日10:30:30 ip-172-31-12-98内核:[1084249.851995] [] SyS_exit_group + 0x14 / 0x20
2月27日10:30:30 ip-172-31-12-98内核:[1084249.852001] [] system_call_fastpath + 0x1a / 0x1f
2月27日10:30:30 ip-172-31-12-98内核:[1084249.852086]错误:错误的rss计数器状态mm:ffff8800031fc000 idx:0 val:-1
2月27日10:30:30 ip-172-31-12-98内核:[1084249.852095]错误:错误rss-计数器状态mm:ffff8800031fc000 idx:1 val:1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045035]错误:进程中的页面映射不良vsftpd pte:8000000000000165 pmd:242e8067
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.045056] page:ffffea0000000000 count:-99 mapcount:-99 mapping:(null)index:0x0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045064]页面标志:0x10(脏)
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.045073] addr:00007f3caefe9000 vm_flags:00100071 anon_vma:ffff880023dd7e40 mapping:(null)index:7f3caefe9
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045083] CPU:0 PID:4266 Comm:vsftpd污点:GB 3.11.0-17-generic#31-Ubuntu
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045086] ffff8800242e5228 ffff8800235b1c68 ffffffff816e7645 00007f3caefe9000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045091] ffff8800235b1cb0 ffffffff81163c68 8000000f80e24165 00000007f3caefe9
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045095] ffff8800242e8f48 ffffea0000000000 00007f3caefe9000 00007f3caefea000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045099]通话跟踪:
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045112] [] dump_stack + 0x45 / 0x56
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045120] [] print_bad_pte + 0x1a8 / 0x240
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045124] [] unmap_page_range + 0x70e / 0x7f0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045128] [] unmap_single_vma + 0x81 / 0xf0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045132] [] unmap_vmas + 0x49 / 0x90
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045137] [] exit_mmap + 0x9c / 0x170
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045143] [] mmput + 0x5c / 0x110
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045148] [] do_exit + 0x278 / 0xa40
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045152] [] do_group_exit + 0x3f / 0xa0
Feb 27 10:31:40 ip-172-31-12-98 kernel:[1084320.045156] [] SyS_exit_group + 0x14 / 0x20
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045163] [] system_call_fastpath + 0x1a / 0x1f
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045257]错误:错误的rss-计数器状态mm:ffff8800031fda40 idx:0 val:-1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.045266]错误:错误的rss-计数器状态mm:ffff8800031fda40 idx:1 val:1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076745]错误:进程中的页面映射不良vsftpd pte:8000000000000165 pmd:242cf067
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.076763] page:ffffea0000000000 count:-100 mapcount:-100 mapping:(null)index:0x0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076770]页标志:0x14(引用|脏)
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076780] addr:00007f10b0663000 vm_flags:00100071 anon_vma:ffff880023dd7640 mapping:(null)index:7f10b0663
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.076790] CPU:0 PID:4270 Comm:vsftpd污点:GB 3.11.0-17-generic#31-Ubuntu
Feb 27 10:31:40 ip-172-31-12-98 kernel:[1084320.076793] ffff880023dedcf0 ffff8800235b3c68 ffffffff816e7645 00007f10b0663000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076798] ffff8800235b3cb0 ffffffff81163c68 8000000f80e24165 00000007f10b0663
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076802] ffff8800242cf318 ffffea0000000000 00007f10b0663000 00007f10b0664000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076806]呼叫跟踪:
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076818] [] dump_stack + 0x45 / 0x56
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076824] [] print_bad_pte + 0x1a8 / 0x240
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076829] [] unmap_page_range + 0x70e / 0x7f0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076833] [] unmap_single_vma + 0x81 / 0xf0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076836] [] unmap_vmas + 0x49 / 0x90
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076841] [] exit_mmap + 0x9c / 0x170
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076847] [] mmput + 0x5c / 0x110
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076851] [] do_exit + 0x278 / 0xa40
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076855] [] do_group_exit + 0x3f / 0xa0
Feb 27 10:31:40 ip-172-31-12-98 kernel:[1084320.076859] [] SyS_exit_group + 0x14 / 0x20
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076866] [] system_call_fastpath + 0x1a / 0x1f
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076957]错误:错误的rss-计数器状态mm:ffff8800031fc780 idx:0 val:-1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.076966]错误:错误的rss-计数器状态mm:ffff8800031fc780 idx:1 val:1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110274]错误:进程中的页面映射不良vsftpd pte:8000000000000165 pmd:235b6067
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.110293] page:ffffea0000000000 count:-101 mapcount:-101 mapping:(null)index:0x0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110300]页面标志:0x10(脏)
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.110308] addr:00007fbdab202000 vm_flags:00100071 anon_vma:ffff880023dd7080 mapping:(null)index:7fbdab202
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.110319] CPU:0 PID:4274 Comm:vsftpd污点:GB 3.11.0-17-generic#31-Ubuntu
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110321] ffff8800242e5000 ffff8800235b5c68 ffffffff816e7645 00007fbdab202000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110326] ffff8800235b5cb0 ffffffff81163c68 8000000f80e24165 00000007fbdab202
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110330] ffff8800235b6010 ffffea0000000000 00007fbdab202000 00007fbdab203000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110334]呼叫跟踪:
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110346] [] dump_stack + 0x45 / 0x56
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110353] [] print_bad_pte + 0x1a8 / 0x240
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110357] [] unmap_page_range + 0x70e / 0x7f0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110361] [] unmap_single_vma + 0x81 / 0xf0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110365] [] unmap_vmas + 0x49 / 0x90
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110369] [] exit_mmap + 0x9c / 0x170
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110375] [] mmput + 0x5c / 0x110
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110380] [] do_exit + 0x278 / 0xa40
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110384] [] do_group_exit + 0x3f / 0xa0
Feb 27 10:31:40 ip-172-31-12-98 kernel:[1084320.110388] [] SyS_exit_group + 0x14 / 0x20
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110394] [] system_call_fastpath + 0x1a / 0x1f
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110504]错误:错误的rss-计数器状态mm:ffff8800031fda40 idx:0 val:-1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.110513]错误:错误rss-计数器状态mm:ffff8800031fda40 idx:1 val:1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146320]错误:进程中的页面映射不良vsftpd pte:8000000000000165 pmd:235fb067
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.146339] page:ffffea0000000000 count:-102 mapcount:-102 mapping:(null)index:0x0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146346]页面标志:0x14(引用|脏)
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.146356] addr:00007f47b9932000 vm_flags:00100071 anon_vma:ffff880023dd7f40 mapping:(null)index:7f47b9932
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.146366] CPU:0 PID:4278 Comm:vsftpd污点:GB 3.11.0-17-generic#31-Ubuntu
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146369] ffff880023dc4c38 ffff8800242b7c68 ffffffff816e7645 00007f47b9932000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146374] ffff8800242b7cb0 ffffffff81163c68 8000000f80e24165 00000007f47b9932
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146378] ffff8800235fb990 ffffea0000000000 00007f47b9932000 00007f47b9933000
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146382]呼叫跟踪:
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146394] [] dump_stack + 0x45 / 0x56
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146401] [] print_bad_pte + 0x1a8 / 0x240
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146405] [] unmap_page_range + 0x70e / 0x7f0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146409] [] unmap_single_vma + 0x81 / 0xf0
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146413] [] unmap_vmas + 0x49 / 0x90
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146418] [] exit_mmap + 0x9c / 0x170
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146424] [] mmput + 0x5c / 0x110
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146428] [] do_exit + 0x278 / 0xa40
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146432] [] do_group_exit + 0x3f / 0xa0
Feb 27 10:31:40 ip-172-31-12-98 kernel:[1084320.146436] [] SyS_exit_group + 0x14 / 0x20
2月27日10:31:40 ip-172-31-12-98内核:[1084320.146441] [] system_call_fastpath + 0x1a / 0x1f
2月27日10:31:40 ip-172-31-12-98内核:[1084320.148847]错误:错误的rss-计数器状态mm:ffff8800031fda40 idx:0 val:-1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.148859]错误:错误rss计数器状态mm:ffff8800031fda40 idx:1 val:1
2月27日10:31:40 ip-172-31-12-98内核:[1084320.181465]错误:进程中的页面映射不良vsftpd pte:8000000000000165 pmd:242dd067
2月27日10:31:40 ip-172-31-12-98 kernel:[1084320.181483] page:ffffea0000000000 count:-103 mapcount:-103 mapping:(null)index:0x0

(只显示前100/252行,其余是相似的)。 我可以看到的唯一的错误引用是:BUG:错误的rss-counter状态和BUG:进程中的坏页面映射vsftpd

但我找不到任何有关这个意思的信息,以及如何解决这个问题(假设它实际上是相关的)。

我在Linux上的知识和技能是有限的,有人可以请说明发生了什么/正在发生/如何解决这个问题。

谢谢

PS我知道SFTP更好,我需要设置FTP。

编辑

请注意,上面提供的转储是在vsftpd的FRESH安装后产生的,所以使用默认的configuration选项,即

听= YES
anonymous_enable = NO
local_enable = YES
dirmessage_enable = YES
use_localtime = YES
xferlog_enable = YES
connect_from_port_20 = YES
secure_chroot_dir =的/ var /运行/ VSFTPD /空
pam_service_name = VSFTPD
rsa_cert_file =的/ etc / SSL /证书/ SSL-CERT-snakeoil.pem
rsa_private_key_file =的/ etc / SSL /私人/ SSL-CERT-snakeoil.key

我已经build立了一个www组,包含拥有/ var / www /( 按照这个 )的默认用户(ubuntu)。 由于默认设置和ubuntu用户被用来产生错误的事实,我不认为用户/用户组是相关的。 (当然我可能是错的)

在接下来的教程中,我设置了libpam-pwdfile,在清除vsftpd时我保持原样。 我不想尝试删除这个软件包,因为我不确定在启动之前是否已经安装并正在使用它。 当前的vsftpd设置不再使用这个库,所以我不认为它涉及到这个错误。

请解释我得到的错误是什么意思,为什么我得到它。 我想了解发生了什么,或者至less有新的东西来解决这个问题。

同样的问题后,我可以确认,与vsftpd 3.02和内核版本3.11.0-173.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做窍门,服务再次启动。

那个用户的homeuser目录是/ home / $ user,在这种情况下,你可以根据你的vsftpd.conf定义除home目录之外的path。 这就是为什么映射错误是存在的,试图改变用户的主目录到/ var / www / sites / $ USER,然后给文件夹正确的权限。在/ var / www / sites / $ USER必须拥有根:root和“html”如果有或网站内容的文件夹必须有www-data:ftpgroup访问和chmod 755。

步骤#1:安装vsftpd

SSH到您的EC2服务器。 types:

sudo yum install vsftpd

这应该安装vsftpd。

步骤2:打开EC2实例的FTP端口

接下来,您需要打开EC2服务器上的FTP端口。 login到AWS EC2pipe理控制台,然后从左侧的导航树中select安全组。 select分配给您的EC2实例的安全组。 select入站选项卡并添加端口范围20-21

另外添加端口范围1024-1048

步骤#3:更新vsftpd.conf文件

input以下命令编辑您的vsftpd conf文件:

sudo vi /etc/vsftpd/vsftpd.conf

通过更改此行禁用匿名FTP:

anonymous_enable = YES

anonymous_enable = NO

然后将以下行添加到vsftpd.conf文件的底部:

pasv_enable = YES pasv_min_port = 1024 pasv_max_port = 1048 pasv_address =

第四步:重启vsftpd

键入以下命令重新启动vsftpd:

sudo /etc/init.d/vsftpd restart

sudo chkconfig vsftpd on

在EC2实例上创build一个新用户非常简单。 例如,要创build用户“bret”,请键入:

sudo adduser bret sudo passwd bret

按照这个程序检查这个工作是否适合你。