免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4917 | 回复: 4
打印 上一主题 下一主题

[FTP] rhel5.2 64位安装vsftp 虚拟用户不能登录,大家看看到底什么问题 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-02-22 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-07 13:32 |只看该作者 |倒序浏览
1、builddefs.h中的undef -》define
builddefs.h
#原内容
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
2、vsf_findlibs.sh中/lib -》lib64
3、安装过程
chmod a+x vsf_findlibs.sh
make clean
make
install -m 755 vsftpd /usr/local/sbin/vsftpd
install -m 644 vsftpd.8 /usr/share/man/man8
install -m 644 vsftpd.conf.5 /usr/share/man/man5
mkdir /etc/vsftpd
install -m 644 vsftpd.conf /etc/vsftpd/vsftpd.conf
mkdir /var/vsftpd
#vi /var/vsftpd/logins.txt
test1
12345
test2
12345

/usr/bin/db_load -T -t hash -f /var/vsftpd/logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db

vi /etc/pam.d/ftp插入如下两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

#建立一个虚拟用户
useradd -d /var/vsftpd/vsftpd -s /sbin/nologin vsftpd

vi /etc/vsftpd/vsftpd.conf
listen=YES
#支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
tcp_wrappers=YES
anonymous_enable=NO
#PAM方式此处必须为YES,如果不是将出现如下错误:500 OOPS: vsftpd: both local and anonymous access disabled!
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
chroot_list_enable=YES
#这两行的意思是采用虚拟用户形式
guest_enable=YES
guest_username=vsftpd
#虚拟用户和本地用户权限相同
virtual_use_local_privs=YES
#建立资料联机采用被动方式
pasv_enable=YES
anon_world_readable_only=NO

xferlog_std_format=NO
log_ftp_protocol=YES(如果启用, 假若选项 xferlog_std_format 没有启用, 所有的 FTP 请求和应答都会被记录. 此选项将对调试很有用)
pam_service_name=vsftpd
xferlog_file=/var/log/xferlog
vsftpd_log_file=/var/log/vsftpd.log
dual_log_enable=YES #new
#将日志输入到syslog中,即/var/log/messages。
syslog_enable=YES #new
#配置用户环境
user_config_dir=/etc/vsftpd_user_conf

mkdir /etc/vsftpd_user_conf
mkdir /var/vsftpd/vsftpd/test1
chmod 700 /var/vsftpd/vsftpd/test1
chown vsftpd /var/vsftpd/vsftpd/test1
vi /etc/vsftpd_user_conf/test1
#增加写权限
local_root=/var/vsftpd/vsftpd/test1
write_enable=YES
#anon_world_readable_only=NO  注意不要写成YES,否则将不能列出文件和目录
anon_world_readable_only=NO
#增加上传权限
anon_upload_enable=YES
#增加创建目录的权限
anon_mkdir_write_enable=YES
#增加管理员用户的删除/重命名的权限
anon_other_write_enable=YES

mkdir /var/vsftpd/vsftpd/test2
chmod 700 /var/vsftpd/vsftpd/test2
chown vsftpd /var/vsftpd/vsftpd/test2
vi  /etc/vsftpd_user_conf/test2
local_root=/var/vsftpd/vsftpd/test1
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &

启动后
Connected to X.X.X.X
220 (vsFTPd 2.2.2)
User (134.238.9.211none)): test1
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.

还有我把log_ftp_protocol开关打开,还是只有
vsftpd[3390]: [test1] FAIL LOGIN: ....
没有更详细的消息,

大家看看问题出现在哪里,该如何调试

论坛徽章:
0
2 [报告]
发表于 2010-01-10 10:20 |只看该作者

回复 #1 flyingbird111 的帖子

登录时messages有何输出信息? ftp 127.0.0.1看看?

论坛徽章:
0
3 [报告]
发表于 2010-01-30 12:32 |只看该作者
在64为上编译的vsftpd有问题,把32机器上编译好的二进制程序复制到64位上就可以了

论坛徽章:
0
4 [报告]
发表于 2010-01-30 12:39 |只看该作者
还有一种解决方法:
把/etc/pam.d/vsftpd中的认证模块改为64位的,即:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd.d/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd.d/login

论坛徽章:
0
5 [报告]
发表于 2010-01-30 21:10 |只看该作者
在64为上编译的vsftpd有问题,把32机器上编译好的二进制程序复制到64位上就可以了

方法好
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP