发布时间:2014-09-05 16:50:28作者:知识屋
一、文章要点:
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/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然后输入两次新密码
请关注连载续篇,欢迎朋友一起交流,讨论。扣扣:柒⑥柒陆叁⑤叁伍。
本文出自 “我站在巨人肩膀上Jimmy Li” 博客,请务必保留此出处
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能