1.自动配置FTP脚本文件
#!/bin/bash
#林中寻雨
#所有的虚拟用户的主目录都在/var/ftp/virtual/目录下
#开始安装vsftpd
echo ">>> 1. Start install Vsftpd ......"
yum -y install pam pam-devel db4 de4-devel db4-tcl
yum -y install vsftpd
sleep 2
mkdir /var/ftp/virtual
useradd vsftpd -M -s /sbin/nologin
useradd ftpuser -d /var/ftp/virtual -s /sbin/nologin
chown ftpuser.ftpuser /var/ftp/virtual
sleep 3
#开始配置vsftpd
echo ">>> 2. Start config Vsftpd ......"
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back
cat /dev/null > /etc/vsftpd/vsftpd.conf
echo "
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP Server
chroot_local_user=YES
ls_recurse_enable=NO
listen=YES
hide_ids=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
" >> /etc/vsftpd/vsftpd.conf
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
cat /dev/null > /etc/pam.d/vsftpd
echo "auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
" >> /etc/pam.d/vsftpd
sleep 3
#开始配置其它
echo ">>> 3. Start config other ......"
touch /var/log/vsftpd.log
chown vsftpd.vsftpd /var/log/vsftpd.log
mkdir /etc/vsftpd/vconf/ -pv
sleep 3
#配置虚拟用户test,用于验证是否可用
echo ">>> 4. Start config vitual user"
echo -e "test\ntest123" >> /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db /etc/vsftpd/virtusers
mkdir /var/ftp/virtual/test #创建test虚拟用户的站点目录,最好使用用户本命为站点目录,这样便于理清哪个目录是哪个用户的
echo "local_root=/var/ftp/virtual/username
#指定虚拟用户的具体主路径
anonymous_enable=NO
#设定不允许匿名用户访问
write_enable=YES
#设定允许写操作
local_umask=022
#设定上传文件权限掩码
anon_upload_enable=NO
#设定不允许匿名用户上传
anon_mkdir_write_enable=NO
#设定不允许匿名用户建立目录
idle_session_timeout=600
#设定空闲连接超时时间
data_connection_timeout=120
#设定单次连续传输最大时间
max_clients=10
#设定并发客户端访问个数
max_per_ip=5
#设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件
local_max_rate=50000
#设定该用户的最大传输速率,单位b/s
" >> /etc/vsftpd/vconf/vconf.tmp
cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/test
sed -i s/username/test/g /etc/vsftpd/vconf/test
echo "Alll OVER! "
1.2.自动配置FTP用户脚本文件
#!/bin/bash
#林中寻雨
#username must be same /etc/vsftpd/vconf/$username
if read -t 10 -p "Please enter you name: " username
then
#check user exits yes or no
if [ -f /etc/vsftpd/vconf/$username ]
then
echo "The $username is exists, please input another name."
else
read -s -p "Please enter your password: " passwd
echo -e "$username\n$passwd" >> /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
mkdir -pv /var/ftp/virtual/$username
cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/$username
sed -i s/username/$username/g /etc/vsftpd/vconf/$username
echo "The config is over."
fi
else
echo -e "\nThe 10s has passed, you are to slow! "
fi
2.在虚拟机中创建一个.sh文件,比如ip.sh
vim ip.sh
将代码复制到文件里面,然后按Esc,输入:,在输入wq保存并退出(如有不懂请自行了解vim文本编辑器使用方法)
3.在命令终端输入下条命令赋予脚本执行权限
chmod +x ip.sh
4.在命令终端输入查看命令
ls
赋予权限的命令会呈现绿色
5.运行脚本
./ip.sh