使用脚本实现NFS和VSFTP安装

#!/usr/bin/bash
#作者:brightsail
#
while true
do
clear


PS3="请输入操作:"
select var in 安装NFS服务  安装VSFTP服务 exit
do     
 
      read -p "请确认:" ps3
      case $ps3 in
      1)
         clear
         select aaa in 'Service install NFS' 'Client install NFS' 'exit'
         do
           read -p "请确认:" pp
           case $pp in
                 1)
                     rpm -q rpcbind &&  rpm -q nfs-utils &> /dev/null
                     if [ $? -eq 0 ]
                     then
                     echo "===rpcbind and NFS 已经安装!==="                                        
                     else
                           yum install rpcbind nfs-utils -y &> /dev/null
                           [ $? -eq 0 ]  && echo "安装成功!"  
                     fi
                     echo "###正在启动服务###"  
                     systemctl enable nfs &> /dev/null
                     pd=$(systemctl status rpcbind | sed -rn '/ Active:/p'|awk '{print $2}')
                     if [ $pd = 'active' ]  
                     then
                     systemctl start nfs &> /dev/null
                     else
                             systemctl start rpcbind &> /dev/null
                             systemctl start nfs &> /dev/null     
                     fi
                       echo "===rpcbind and NFS 启动成功!==="
                       echo "###正在启动firewall###"
                     systemctl start firewall &> /dev/null
                     firewall-cmd --permanent --zone=public --add-service=nfs --add-service=rpc-bind &> /dev/null
                     firewall-cmd --reload &> /dev/null
                     read -p "请输入想要共享的目录名(多个目录需用{dir1,dir2}的形式输入):" mlm
                     mkdir -p $mlm
                     chmod -R o+rwx $mlm
                     setfacl -R -m u:nfsnobody:rwx $mlm
                     echo "---创建目录并设置权限中---"
                                          
                     read -p "请输入NFS服务器IP地址:" nfsip
                     function eee(){
                          for i in ${aa[*]}
                          do
                          
                          
                          echo "$i $nfsip/24(rw) > /etc/exports.d/$i.exports" &> /dev/null
                          done
                          }

                          
                         aa=($(echo "$mlm" |sed -r 's/[{,}]/ /g'))
                         eee $aa
                         exportfs -ar &> /dev/null
                         exportfs -s  &> /dev/null
                         [ $? -eq 0 ] && echo "---共享目录导出成功---"
                         echo " "
                         echo "NFS服务器部署完成!"
                         echo "===按任意键返回==="
                         read -n1
                         break 1
                 ;;
                 2)
                      yum install nfs-utils -y &> /dev/null
                      echo "---NFS服务安装完毕---"
                      read -p "输入挂载共享目录的目录名(空目录或者不存在的):" cmlm
                      read -p "输入NFS服务器共享的目录:" nfsmlm
                      read -p "输入NFS服务器的IP地址:"  IP
                      cd "$cmlm" &> /dev/null
                      if [ $? -eq ]
                      then
                           mount -t nfs $IP:$nfsmlm $cmlm
                           break 1
                      fi
                           mkdir -p $cmlm
                           mount -t nfs $IP:$nfsmlm $cmlm
                           break 1
                       echo "----Clinet部署完成!----"   
                       echo "===按任意键返回==="
                       read -n1
                       break 1
                 ;;  
                 3)  echo "===正在退出==="
                     echo "===按任意键返回==="
                     read -n1
                     
                     break 2
                 ;;
           esac
          done
          clear

      ;;
      2)
         clear
        
        select ftp in 安装vsftpd服务端 安装vsftp客户端 exit
        do
            read -p "请确认:" bb
            case $bb in
            1)
                 rpm -q vsftpd &> /dev/null
                 if [ $? -eq 0 ]
                 then
                       echo "===vsftpd已经安装!==="
                 else
                       echo "===vsftp正在安装!=== "
                       yum install -y vsftpd xferstats &> /dev/null
                       
                 fi
                     systemctl start firewalld &> /dev/null
                      echo "===正在配置firewall策略==="
                     firewall-cmd --permanent --zone=public --add-service=ftp &> /dev/null
                     firewall-cmd --reload &> /dev/null
                     echo "===正在设置ftp开机自启动==="
                     systemctl enable vsftpd &> /dev/null    
                     systemctl restart vsftpd &> /dev/null


                     echo "===正在配置SElinux域策略==="
                     setsebool -P ftpd_full_access on &> /dev/null
                     setsebool -P ftp_use_passive_mode on &> /dev/null
                     setsebool -P ftp_connect_all_unreserved on &> /dev/null
                     echo "===配置完成==="
                     
                     echo "===可以进入共享目录(/var/ftp/pub)添加想要共享的文件啦!==="
                     echo "===按任意键返回==="
                     read -n1
                     clear
                     break 1

            ;;
            2)   rpm -q lftp &> /dev/null
                 if [ $? -eq 0 ]
                 then
                       echo "===ftp客户端已安装==="
                 else
                       echo "===ftp客户端正在安装==="
                       yum install lftp
                       echo "===ftp客户端安装完毕==="
                 fi
                 echo "===正在设置lftp开机自启"
                 systemctl enable lftp &> /dev/null
                 systemctl restart lftp &> /dev/null
                 echo "===正在配置firewall策略==="
                 systemctl restart firewalld &> /dev/null
                 firewall-cmd --permanent --zone=public --add-service=lftp &> /dev/null
                 firewall-cmd --reload &> /dev/null
                 echo "===ftp客户端安装完毕==="
                 echo "==可以开始链接ftp服务器进行使用啦=="
                 echo "===按任意键返回==="
                 read -n1
                 clear
                 break 1
            ;;
            3)
                 break 2
            ;;
            esac       
        done
        clear
      ;;
      3)
         exit 0
      ;;
 
      
      esac


done
done


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值