Linux编译安装vsftpd服务器(本地用户验证方式)
Linuxvsftpd编译安装和配置允许本地用户登录FTP
1、下载vsftpd源码
wgethttps://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz
2、编译vsftpd源码
64位的系统编译之前先要执行cp/lib64/libcap.so.1/lib/libcap.so.1命令:
tarxzvfvsftpd-2.3.4.tar.gz cdvsftpd-2.3.4 make makeinstall
3、配置vsftpd
cpvsftpd.conf/etc cpRedHat/vsftpd.pam/etc/pam.d/ftp sedi's/anonymous_enable/#anonymous_enable=YES/g'/etc/vsftpd.conf sedi's/#local_enable=YES/local_enable=YES/g'/etc/vsftpd.conf sedi's/#write_enable=YES/write_enable=YES/g'/etc/vsftpd.conf sedi's/#local_umask=022/local_umask=022/g'/etc/vsftpd.conf sedi's/#chroot_local_user=YES/chroot_local_user=YES/g'/etc/vsftpd.conf
4、启动vsftpd并设置开机启动
/usr/local/sbin/vsftpd&
sed-i'$a\/usr/local/sbin/vsftpd&'/etc/rc.d/rc.local
5、添加FTP用户(用户名:ftpuserftp根目录/home/wwwroot/ftpuser)
useradd-d/home/wwwroot/ftpuser-gftp-s/sbin/nologinftpuser
本地用户验证方式
(1)下载文件
wgethttp://jaist.dl.sourceforge.net/project/buluoos/0.1/src/vsftpd-2.2.2.tar.gz
tarzxvfvsftpd-2.2.2.tar.gz
cdvsftpd-2.2.2
(2)编辑程序代码。用tcp_wrappers验证方式,取消PAM验证。
sed-i's/undefVSF_BUILD_TCPWRAPPERS/defineVSF_BUILD_TCPWRAPPERS/g'builddefs.h
sed-i's/defineVSF_BUILD_PAM/undefVSF_BUILD_PAM/g'builddefs.h
(3)安装
make-j8
(4)添加系统用户“nobody”(此用户可能已经存在)
useraddnobody
(5)创建目录“/usr/share/empty”(此目录可能已经存在)
mkdir/usr/share/empty/
(6)安装vsftpd配置文件,可执行程序。
install-m644vsftpd.conf/etc/vsftpd.conf
install-m755vsftpd/usr/local/sbin/vsftpd
install-m644vsftpd.8/usr/share/man/man8
install-m644vsftpd.conf.5/usr/share/man/man5
(7)编辑配置文件
cat>>/etc/vsftpd.conf<<EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
tcp_wrappers=YES
EOF
(8)启动vsftpd
/usr/local/sbin/vsftpd/etc/vsftpd.conf&
*安装后使用系统用户登录,最好是使用运行WEB服务器的用户,这样可以避免上传之后再修改属主属组和权限。
*安装文件下载地址不在本地,如果失效,可以自行搜索个下载地址,其他安装步骤不影响。