centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录)
一、文章要点:
1.64位系统下使用了PAM数据方式的虚拟用户配置
2.修改关键脚本,是编译成功通过。必要步骤,详细安装配置说明过程。
3.完全配置实例,Centos5.6编译安装vsftpd-2.3.4(配置本地用户登录、虚拟用户登录)
下载
wget http://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(配置本地用户登录)
wget http://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/
相关新闻>>
- 发表评论
-
- 最新评论 更多>>