当前位置:首页 > linux基础 > 正文内容

vsftpd 一键脚本

3年前 (2021-04-15)linux基础1541
#!/bin/bash
#安装VSFTPD服务并使用匿名用户登录
#关闭sellinux
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
if [ $? -ne 0 ]
then
   echo "执行命令失败"
fi
#关闭防火墙
systemctl stop firewalld
if [ $? -ne 0 ]
then 
    echo "关闭防火墙失败"
    read -p "是否跳过此步?(yes or no)":no ifs
    if [ $ifs -eq "no" ]
    then 
       echo "正在退出此脚本"
       sleep 1
    fi  
else
    echo "关闭防火墙成功"
fi
#yum安装vsftpd
yum -y install vsftpd
if [ $? -eq 0 ]
then
    echo "vsftpd安装完成。"
else
    echo "vsftpd安装失败。"
fi
#配置匿名用户
useradd vsftpd -d /home/vsftpd -s /bin/false
mkdir -p /home/vsftpd/ftp1
echo "ftp1" >> /etc/vsftpd/loginusers.conf
echo "123456" >> /etc/vsftpd/loginusers.conf
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 777 /etc/vsftpd/loginusers.db
sed -i 's/^.*/#&/' /etc/pam.d/vsftpd
sed -i '2i\auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers' /etc/pam.d/vsftpd
sed -i '3i\account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers' /etc/pam.d/vsftpd
mkdir /etc/vsftpd/userconf
echo "local_root=/home/vsftpd/ftp1/" >> /etc/vsftpd/userconf/ftp1
echo "write_enable=YES"  >> /etc/vsftpd/userconf/ftp1
chmod 777  /home/vsftpd/ftp1
chown vsftpd:vsftpd /home/vsftpd/ftp1
#最后修改主配置文件
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/' /etc/vsftpd/vsftpd.conf
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=vsftpd" >> /etc/vsftpd/vsftpd.conf
echo "user_config_dir=/etc/vsftpd/userconf" >> /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "virtual_use_local_privs=YES" >> /etc/vsftpd/vsftpd.conf
echo "pasv_min_port=30000" >> /etc/vsftpd/vsftpd.conf
echo "pasv_max_port=31000 " >> /etc/vsftpd/vsftpd.conf
systemctl start vsftpd
if [ $? -eq 0 ]
then
    echo "vsftpd配置完成。"
    echo "vsftpd服务已启动。"
else
    echo "vsftpd配置失败。"
fi


“vsftpd 一键脚本” 的相关文章

NFS文件共享存储

NFS文件共享存储

NFS基本概述NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分...

Shell介绍(三)if判断,case控制,for循环,while循环,流程控制语句

if判断单分支if [你有房] then     我就嫁给你 fi多分支if [ 你有房 ] then     我就嫁给你 else   &nbs...

Shell介绍(四)条件表达式,字符串比对

条件表达式[ ]======test   []常用[ -f file ] 文件是否存在 且为普通文件 重点[ -e file ] 文件存在则为真[ -d file ] 目录存在则为真 重点[ -x file ] 文件有执行权限则为真[ -w file ] 文件可写则为真[...

自动化运维(一)Ansible安装及模块的使用

自动化运维(一)Ansible安装及模块的使用

1:Ansible安装1.什么是AnsibleAnsible是python 中的一套模块,系统中的一套自动化工具,只需要使用ssh协议连接及可用来系统管理、自动化执行命令等任务。2.Ansible优势1、ansible不需要单独安装客户端,也不需要启动任何服务2、ansible是python中的一套...

自动化运维(三)Ansible Playbook案例

自动化运维(三)Ansible Playbook案例

Playbook案例1.环境规划角色外网IP(NAT)内网IP(LAN)部署软件m01eth0:10.0.0.61eth1:172.16.1.61ansiblebackupeth0:10.0.0.41eth1:172.16.1.41rsyncnfseth0:10.0.0.31eth1:172.16....

自动化运维(四)Ansible Playbook Roles的使用

自动化运维(四)Ansible Playbook Roles的使用

ansible roles 角色适合大规模使用playbook如果文件较多的情况,不清楚哪些主机执行了哪些状态的yml文件roles能清楚哪些主机应用哪些角色1.roles官方目录的结构[root@m01 roles]# mkdir {nfs,rsync,web}/{v...