#!/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
使用脚本实现NFS和VSFTP安装
最新推荐文章于 2024-05-07 14:59:26 发布