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

vsftpd 一键脚本

4年前 (2021-04-15)linux基础2454
#!/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 一键脚本” 的相关文章

Linux单用户和救援模式

Linux单用户和救援模式

Linux单用户模式Centos7使用单用户模式进行变更系统密码第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面第2步:在linux16这行的后面添加enforcing=0 init=/bin/bash,然后按下Ctrl + X组合键来运行修改过的内核程序第3步:大约...

sersync实时同步

sersync实时同步

实时同步概述实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目录同步至远程服务器。保证数据的连续性, 减少人力维护成本,解决nfs单点故障实时同步工具选择sersync+rsync(√)、inotify+rsyncInotify是一个通知接口,用来监控文件系统的各种变化,如果...

Shell介绍(一)变量、传参、数值运算

Shell编程1.什么情况下使用Shell1:安装CentOS系统 自动化安装操作系统(kickstart cobbler) 底层shell2:网络IP地址3:初始化操作系统(ntp时间同步,更改默认YUM源,SSH端口,SSH远程连接禁止DNS解析,禁止root登录,关闭seilnux,防火墙优化...

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

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

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

自动化运维(二)Ansible Playbook

自动化运维(二)Ansible Playbook

1.Playbook剧本1.playbook翻译过来就是“剧本”,那playbook组成如下play: 定义的是主机的角色task: 定义的是具体执行的任务playbook: 由一个或多个play组成,一个play可以包含多个task任务简单理解为: 使用不同的模块完成一件事情2.playbook的...

自动化运维(三)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....