Centos5.6 64位编译安装vsftpd-2.3.4及配置,必要步骤,详细安装配


一、文章要点:


1.64位系统下使用了PAM数据方式的虚拟用户配置


2.修改关键脚本,是编译成功通过。必要步骤,详细安装配置说明过程。


3.完全配置实例,Centos5.6编译安装vsftpd-2.3.4(配置本地用户登录、虚拟用户登录)


下载


wgethttp://xiazai.xiazaiba.com/Soft/V/vsftpd-2.3.4.tar.gz


tar xzvf vsftpd-2.3.4.tar.gz


cd vsftpd-2.3.4


关键步骤:由于64位系统的SO文件路径有变化,必须更改vsf_findlibs.sh脚本的将lib换成lib64


可以手工修改,也可以执行批量修改。


sed -i 's/lib//lib64//g' vsf_findlibs.sh 这里不执行,在64位系统是无法make成功的


mkdir /var/ftp/


useradd -d /var/ftp ftp


chown root.root /var/ftp/


chmod og-w /var/ftp/


make


make install


cd /etc/


cp /etc/vsftpd/vsftpd.conf.rpmsave vsftpd.conf


二、详细安装配置说明过程:

1、首先是安装PAM

yum install pam-devel db4-utils

2、安装vsftpd

yum install vsftpd*


3、查看vsftpd是否加载 pam

ldd /usr/sbin/vsftpd

若输出中出现ibpam.so.0 => /lib/libpam.so.0,表示加载成功

4、生成用户验证数据库文件

1)创建loguser.txt,格式如下(用户、密码、用户、密码.....)

userid


pass

2)保存后,使用db_load -T -t hash -f loguser.txt /etc/vsftpd/vsftpd_login.db,查看该目录下文件是否生成

设置访问权限 chmod 600 /etc/vsftpd_login.db

5、vim /etc/pam.d/vsftpd

在头部添加如下行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意,若为64位操作系统,此处的路径应该修改为

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

否则,启动vsftpd后,会报530错误,这个错误我也是找了好久才明白的,之前其他网站上同类说明文件,均没有说明此问题

将其它的内容注释掉

6、vim /etc/vsftpd/vsftpd.conf,确保含有一下设置:

anonymous_enable=NO


local_enable=YES


write_enable=NO


anon_upload_enable=NO


anon_mkdir_write_enable=NO


anon_other_write_enable=NO


chroot_local_user=YES


guest_enable=YES


guest_username=virtual //---这里为映射的本地用户


listen=YES


listen_port=21


pasv_min_port=30000


pasv_max_port=30999

7、启动vsftpd

三、完全配置实例


Centos5.6编译安装vsftpd-2.3.4(配置本地用户登录)

wgethttp://xiazai.xiazaiba.com/Soft/V/vsftpd-2.3.4.tar.gz

tar zxvf vsftpd-2.3.4.tar.gz


cd vsftpd-2.3.4

mkdir -p /usr/local/man/man8


mkdir -p /usr/local/man/man5

make && make install


cd ../

vim /etc/vsftpd.conf

mkdir /etc/vsftpd


touch /etc/vsftpd/chroot_list


echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local


mkdir /var/ftp


touch /etc/vsftpd/userlist.chroot


touch /etc/vsftpd/userlist_deny.chroot


touch /var/log/vsftpd.log


mkdir -p /usr/share/empty

#防火墙 selinux设置


/usr/local/sbin/vsftpd &


setsebool -P ftpd_disable_trans on


/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT


/etc/rc.d/init.d/iptables save


/etc/init.d/iptables restart


useradd -d /home/wwwroot -s /sbin/nologin adminftp


pkill vsftpd


/usr/local/sbin/vsftpd &

最后记得设置adminftp密码


命令:passwd adminftp然后输入两次新密码

相关内容

    暂无相关文章