entOS6.X部署Vsftpd服務腳本
Vsftpd部署腳本
腳本已經在CentOS 6.X x86_64的系統上測試過了!
#!/bin/bash
# CentOS 6.X x86_64
rpm -q vsftpd
if [ $? -eq 0 ];then
echo "vsftpd已經安裝,請執行該指令rpm -e vsftpd解除安裝vsftpd"
exit 1
fi
if [ -d "/etc/vsftpd" ];then
mv /etc/vsftpd{,.$(date +%Y%m%d%H%M)}
yum install -y vsftpd db4 db4-devel
mv /etc/vsftpd/vsftpd.conf{,.$(date +%Y%m%d%H%M)}
# 生成vsftpd配置檔案
cat << 'EOF' >> /etc/vsftpd/vsftpd.conf
listen=YES
listen_port=21
local_enable=YES
write_enable=NO
anonymous_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=ftp
user_config_dir=/etc/vsftpd/ftp
ftpd_banner=welcome vsftp!
pam_service_name=vsftpd.pam
vsftpd_log_file=/var/log/vsftpd.log
dual_log_enable=YES
xferlog_enable=YES
local_root=/var/ftp
EOF
# 生成vsftpd的認證檔案
cat << 'EOF' >> /etc/pam.d/vsftpd.pam
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虛拟使用者的賬号和密碼
USER=ftpuser
PASS=$(echo $RANDOM | md5sum | head -c 20)
echo -e "$USER\n$PASS" > /etc/vsftpd/logins.txt
mkdir /etc/vsftpd/ftp
# 為生成的使用者添加一個獨立的配置檔案
cat << 'EOF' >> /etc/vsftpd/ftp/${USER}
write_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_umask=022
file_open_mode=0777
local_root=/tmp
# 每次填加新的虛拟使用者後執行的指令
# /etc/vsftpd/logins.txt是記錄虛拟使用者的賬号和密碼
# 添加新的虛拟使用者在檔案末尾追加賬号和密碼就可以了,奇數是使用者,偶數是密碼
echo "db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db" > /etc/vsftpd/cmd
chmod u+x /etc/vsftpd/cmd
/etc/vsftpd/cmd
chkconfig vsftpd on
/etc/init.d/vsftpd start
echo "####################################"
echo "Config Files: /etc/vsftpd/vsftpd.conf"
echo "Pam Files: /etc/pam.d/vsftpd.pam"
echo "Db Files: /etc/vsftpd/vsftpd_login.db"
echo "User/Password Files: /etc/vsftpd/logins.txt"
echo "Create User/Password Db Files Command: bash /etc/vsftpd/cmd"
echo "User/Password: $USER/$PASS"
echo "Vsftpd Install OK!"
使用方法
運作腳本:
1
[root@iZ2583c3psrZ ~]# bash vsftpd.sh
添加虛拟使用者:
2
3
4
[root@iZ2583c3psrZ ~]# vim /etc/vsftpd/logins.txt
#奇數行是使用者名,偶數行是密碼
testftp
test2016!^&
将logins.txt的使用者生成為虛拟使用者