当前位置:首页 >> 服务器

Linux编译安装vsftpd服务器(本地用户验证方式)

Linux vsftpd编译安装和配置允许本地用户登录FTP

1、下载vsftpd源码

wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz

2、编译vsftpd源码
64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令:

复制代码 代码如下:
tar xzvf vsftpd-2.3.4.tar.gz
cd vsftpd-2.3.4
make
make install

3、配置vsftpd

复制代码 代码如下:
cp vsftpd.conf /etc
cp RedHat/vsftpd.pam /etc/pam.d/ftp
sed i 's/anonymous_enable/#anonymous_enable=YES/g' /etc/vsftpd.conf
sed i 's/#local_enable=YES/local_enable=YES/g' /etc/vsftpd.conf
sed i 's/#write_enable=YES/write_enable=YES/g' /etc/vsftpd.conf
sed i 's/#local_umask=022/local_umask=022/g' /etc/vsftpd.conf
sed i '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用户(用户名:ftpuser ftp根目录/home/wwwroot/ftpuser)

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

本地用户验证方式

(1)下载文件

wget http://jaist.dl.sourceforge.net/project/buluoos/0.1/src/vsftpd-2.2.2.tar.gz
tar zxvf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2

(2)编辑程序代码。用tcp_wrappers验证方式,取消PAM验证。

sed -i 's/undef VSF_BUILD_TCPWRAPPERS/define VSF_BUILD_TCPWRAPPERS/g' builddefs.h
sed -i 's/define VSF_BUILD_PAM/undef VSF_BUILD_PAM/g' builddefs.h

(3)安装
make -j 8

(4)添加系统用户“nobody”(此用户可能已经存在)

useradd nobody

(5)创建目录“/usr/share/empty”(此目录可能已经存在)

mkdir /usr/share/empty/

(6)安装vsftpd配置文件,可执行程序。

install -m 644 vsftpd.conf /etc/vsftpd.conf
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

(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服务器的用户,这样可以避免上传之后再修改属主属组和权限。
* 安装文件下载地址不在本地,如果失效,可以自行搜索个下载地址,其他安装步骤不影响。