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服務器的用戶,這樣可以避免上傳之后再修改屬主屬組和權限。
* 安裝文件下載地址不在本地,如果失效,可以自行搜索個下載地址,其他安裝步驟不影響。
相關文章:
