在主Shell脚本文件里(必须以menu.sh命名)需要设计一个多操作选项的菜单,以便用户从中选择。在菜单中,自动实现以下功能: 1.创建用户选项。具体要求为当管理选择该选项后,系统允许管理员输入“用户名”,然后,自动创建Linux普通用户(密码默认为@Linux888)。 2.部署服务器选项。具体要求为通过yum命令,自动化部署某种服务器的服务;部署过程中,显示所安装的服务器版本号。 3.修改服务器配置并测试使用该服务器。 4.防火墙配置选项。具体要求为当管理选择该选项后,系统允许管理员输入“端口号”及“on/off”操作,系统根据管理员的输入,开启或关闭指定的端口号。 5.退出系统选项。具体要求为当管理选择该选项后,系统退出。
时间: 2023-11-28 13:49:31 浏览: 136
以下是一个简单的menu.sh脚本,实现了上述功能:
```bash
#!/bin/bash
while :
do
clear
echo "----------------------"
echo " 主菜单"
echo "----------------------"
echo "1. 创建用户"
echo "2. 部署服务器"
echo "3. 修改服务器配置"
echo "4. 防火墙配置"
echo "5. 退出系统"
echo "----------------------"
read -p "请选择操作[1-5]: " choice
case $choice in
1)
read -p "请输入用户名: " username
sudo useradd $username -m -p $(openssl passwd -1 "@Linux888")
echo "用户 $username 创建成功!"
read -p "按任意键继续..."
;;
2)
read -p "请输入要部署的服务名称: " service
sudo yum install -y $service
version=$(yum info $service | grep Version | awk '{print $3}')
echo "$service-$version 已成功安装!"
read -p "按任意键继续..."
;;
3)
echo "修改服务器配置"
# TODO: 添加具体实现
read -p "按任意键继续..."
;;
4)
read -p "请输入端口号: " port
read -p "请输入操作['on'或'off']: " action
if [ $action = "on" ]
then
sudo firewall-cmd --zone=public --add-port=$port/tcp --permanent
sudo firewall-cmd --reload
echo "端口 $port 开启成功!"
elif [ $action = "off" ]
then
sudo firewall-cmd --zone=public --remove-port=$port/tcp --permanent
sudo firewall-cmd --reload
echo "端口 $port 关闭成功!"
else
echo "无效的操作!"
fi
read -p "按任意键继续..."
;;
5)
echo "感谢使用!"
exit
;;
*)
echo "无效的选择,请重试!"
read -p "按任意键继续..."
;;
esac
done
```
请注意,该脚本目前还未完全实现第3个选项,需要根据具体情况进行修改。另外,防火墙配置部分使用了firewall-cmd命令,需要确保该命令在系统中可用。
阅读全文