Ubuntu 12.04更新破坏了VSFTP

我正在运行Ubuntu 12.04 LTS。 我使用apt做了一些小的更新。 重新启动后,vsftp停止接受连接系统用户login。 在validation日志中,我收到以下错误

Dec 22 22:03:13 helium vsftpd: PAM unable to dlopen(pam_cracklib.so): /lib/security/pam_cracklib.so: cannot open shared object file: No such file or directory Dec 22 22:03:13 helium vsftpd: PAM adding faulty module: pam_cracklib.so Dec 22 22:03:13 helium vsftpd: pam_unix(vsftpd:auth): check pass; user unknown Dec 22 22:03:13 helium vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=cam rhost=192.168.1.121 Dec 22 22:03:13 helium vsftpd: pam_winbind(vsftpd:auth): getting password (0x00000388) Dec 22 22:03:13 helium vsftpd: pam_winbind(vsftpd:auth): pam_get_item returned a password 

我从common-password注释掉了pam_cracklib.so,然后在下一个lib上出错

 Dec 22 22:08:57 helium vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: cannot open shared object file: No such file or directory Dec 22 22:08:57 helium vsftpd: PAM adding faulty module: pam_shells.so Dec 22 22:08:57 helium vsftpd: pam_unix(vsftpd:auth): check pass; user unknown Dec 22 22:08:57 helium vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=cam rhost=192.168.1.120 Dec 22 22:08:57 helium vsftpd: pam_winbind(vsftpd:auth): getting password (0x00000388) Dec 22 22:08:57 helium vsftpd: pam_winbind(vsftpd:auth): pam_get_item returned a password Dec 22 22:09:00 helium vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: cannot open shared object file: No such file or directory 

然后我注意到这个目录不存在了/ lib / security /现在好像现在位于/ lib / x86_64-linux-gnu / security

所以我做了两者之间的符号链接,但后来我得到这些错误

 Dec 22 22:11:33 helium vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: failed to map segment from shared object: Cannot allocate memory Dec 22 22:11:33 helium vsftpd: PAM adding faulty module: pam_shells.so Dec 22 22:11:33 helium vsftpd: pam_unix(vsftpd:auth): check pass; user unknown Dec 22 22:11:33 helium vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=cam rhost=192.168.1.120 Dec 22 22:11:33 helium vsftpd: pam_winbind(vsftpd:auth): getting password (0x00000388) Dec 22 22:11:33 helium vsftpd: pam_winbind(vsftpd:auth): pam_get_item returned a password 

我目前正在运行

 Package: vsftpd Status: install ok installed Priority: extra Section: net Installed-Size: 334 Maintainer: Ubuntu Developers <[email protected]> Architecture: amd64 Version: 2.3.5-1ubuntu2 

我已经做了一个清除和重新安装,但我仍然得到相同的错误。

我的vsftp conf非常简单。 允许本地用户和chroot用户。

有人有主意吗?

我跟着这个线程,并使用这个家伙deb包修复我的实例。 自那以来一直为我工作。 有一件事我必须做的是从apt中排除vsftpd,所以直到正式版本修复之前,它并没有恢复。

有完全一样的问题。 刚刚从这里下载了最新的vsftpd: https : //security.appspot.com/downloads/vsftpd-3.0.2.tar.gz ,解压缩并编译它。 然后,我用新build的文件replace了/ usr / sbin中的二进制文件。 现在工作。 不知道这是否打破了从Ubuntu进一步无人看pipe的升级,但至less它再次工作。

BTW我需要apt-get make,gcc和libssl-dev,并将builddefs.h中的SSL行更改为:#define VSF_BUILD_SSL。 虽然没有testingSSL。