登录ftp出现:Login failed: 530 Login incorrect
于是我找出日志文件:[root@zhang ~]# cat /var/log/secure
Oct 19 11:14:25 localhost vsftpd[4821]: PAM unable to dlopen(/lib/security/pam_userdb.so): /lib/security/pam_userdb.so: cannot open shared object file: No such file or directory
Oct 19 11:14:25 localhost vsftpd[4821]: PAM adding faulty module: /lib/security/pam_userdb.so
Oct 19 11:14:25 localhost vsftpd[4821]: pam_unix(vsftpd:auth): check pass; user unknown
Oct 19 11:14:25 localhost vsftpd[4821]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=zhang rhost=localhost.localdomain
Oct 19 11:14:25 localhost vsftpd[4821]: pam_succeed_if(vsftpd:auth): error retrieving information about user zhang
很明显是 /lib/security/pam_userdb.so这个载入失败。
于是我查看pam是否安装
[root@zhang ~]# yum list |grep pam
fprintd-pam.x86_64 0.1-20.git04fd09cfa.el6 @base
gnome-keyring-pam.x86_64 2.28.2-8.el6_3 @base
pam.i686 1.1.1-13.el6 @base
pam.x86_64 1.1.1-13.el6 @anaconda-CentOS-201303020151
已安装
我机器是64位的,猜想应该是要载入pam.x86_64
[root@zhang ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
就是 /lib/security/pam_userdb.so 这个文件载入失败。
[root@zhang ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
保存重启vsftpd服务。
重新测试,登陆成功了。
三 使用root权限配置FTP服务器
首先安装vsftpd
[root@zhang ~]# cd /etc/vsftpd
[root@zhang vsftpd]# ls
ftpusers vsftpd.conf vsftpd_login vsftpd_login.db
user_list vsftpd_conf_migrate.sh vsftpd_login.d vsftpd_user_conf
分别编辑 ftpusers 和user_list 文件
[root@zhang vsftpd]# vi user_list
[root@zhang vsftpd]# vi ftpusers
屏蔽root权限 将root那一行删掉或#注释掉
1重启vsftpd服务
[root@zhang vsftpd]# cd
[root@zhang ~]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (127.0.0.1:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
成功!
注:启动服务或者连接服务前,应先关闭防火墙,编辑 /etc/selinux/config 文件 使SELINUX=distabled
[root@zhang ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
原文地址 http://hi.baidu.com/itapadwyxebcfud/item/dbd889c009e6c413449416d0
编辑回复