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

vsftpd 一键脚本

4年前 (2021-04-15)linux基础2295
#!/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用户的基本操作

用户基本概述1.什么是用户?用户指的是能够正常登录Linux或Windows系统2.Linux下的用户有什么用?2.1.系统上的每一个进程(运行的程序),都需要一个特定的用户运行2.2.通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障。2.3.每一个文件都有特定的用户拥有,所以...

NFS文件共享存储

NFS文件共享存储

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

Shell介绍(二)函数,数组

函数命令的集合 完成特定功能的代码块模块化 复用函数和变量类似 只有先定义才可以调用,如果只定义不调用 则不会执行函数的定义和调用三种方法:[root@web scripts]# cat fun.sh #!/bin/sh test1(){   ...

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

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

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