diff --git a/containerd/install_containerd.sh b/containerd/install_containerd/install_containerd.sh similarity index 100% rename from containerd/install_containerd.sh rename to containerd/install_containerd/install_containerd.sh diff --git a/containerd/install_containerd_binary.sh b/containerd/install_containerd_binary/install_containerd_binary.sh similarity index 100% rename from containerd/install_containerd_binary.sh rename to containerd/install_containerd_binary/install_containerd_binary.sh diff --git a/containerd/old/install_containerd_binary.sh b/containerd/old/install_containerd_binary/install_containerd_binary.sh similarity index 99% rename from containerd/old/install_containerd_binary.sh rename to containerd/old/install_containerd_binary/install_containerd_binary.sh index f73167c..77f0422 100644 --- a/containerd/old/install_containerd_binary.sh +++ b/containerd/old/install_containerd_binary/install_containerd_binary.sh @@ -7,7 +7,7 @@ #FileName: install_containerd_binary.sh #URL: raymond.blog.csdn.net #Description: install_containerd_binary for centos 7/8 & ubuntu 18.04/20.04 & Rocky 8 -#Copyright (C): 2021 All rights reserved +#Copyright (C): 2022 All rights reserved #********************************************************************************************* SRC_DIR=/usr/local/src COLOR="echo -e \\033[01;31m" diff --git a/harbor high availability/haproxy+keepalived/install_haproxy_v2.sh b/harbor high availability/haproxy+keepalived/haproxy/install_haproxy_v2.sh similarity index 100% rename from harbor high availability/haproxy+keepalived/install_haproxy_v2.sh rename to harbor high availability/haproxy+keepalived/haproxy/install_haproxy_v2.sh diff --git a/harbor high availability/haproxy+keepalived/check_haproxy.sh b/harbor high availability/haproxy+keepalived/keepalived/check_haproxy.sh similarity index 100% rename from harbor high availability/haproxy+keepalived/check_haproxy.sh rename to harbor high availability/haproxy+keepalived/keepalived/check_haproxy.sh diff --git a/harbor high availability/haproxy+keepalived/install_keepalived_v2.sh b/harbor high availability/haproxy+keepalived/keepalived/install_keepalived_v2.sh similarity index 100% rename from harbor high availability/haproxy+keepalived/install_keepalived_v2.sh rename to harbor high availability/haproxy+keepalived/keepalived/install_keepalived_v2.sh diff --git a/harbor high availability/nginx+keepalived/check_nginx.sh b/harbor high availability/nginx+keepalived/keepalived/check_nginx.sh similarity index 100% rename from harbor high availability/nginx+keepalived/check_nginx.sh rename to harbor high availability/nginx+keepalived/keepalived/check_nginx.sh diff --git a/harbor high availability/nginx+keepalived/install_keepalived_v2.sh b/harbor high availability/nginx+keepalived/keepalived/install_keepalived_v2.sh similarity index 100% rename from harbor high availability/nginx+keepalived/install_keepalived_v2.sh rename to harbor high availability/nginx+keepalived/keepalived/install_keepalived_v2.sh diff --git a/harbor high availability/nginx+keepalived/install_nginx.sh b/harbor high availability/nginx+keepalived/nginx/install_nginx.sh similarity index 100% rename from harbor high availability/nginx+keepalived/install_nginx.sh rename to harbor high availability/nginx+keepalived/nginx/install_nginx.sh diff --git a/java/install_jdk_11.sh b/java/java 11/install_jdk_11.sh similarity index 100% rename from java/install_jdk_11.sh rename to java/java 11/install_jdk_11.sh diff --git a/java/install_jdk_8.sh b/java/java 8/install_jdk_8.sh similarity index 100% rename from java/install_jdk_8.sh rename to java/java 8/install_jdk_8.sh diff --git a/reset/README.md b/reset/README.md index a317341..e7f6c33 100644 --- a/reset/README.md +++ b/reset/README.md @@ -1,6 +1,6 @@ # Rocky、AlmaLinux、CentOS、Ubuntu、Debian、openEuler、AnolisOS、OpenCloudOS、openSUSE、银河麒麟(Kylin Server)和统信(UOS Server)系统初始化脚本 -![reset](https://raymond-1302897408.cos.ap-beijing.myqcloud.com/images/blog/reset/20250922121558895.jpg) +![reset](https://raymond-1302897408.cos.ap-beijing.myqcloud.com/images/blog/reset/20251020182859999.jpg) **Shell脚本源码地址:** @@ -13,32 +13,32 @@ Github:https://github.com/raymond999999/shell **支持的功能:** -| **支持的功能** | 备注 | -| --------------------------------- | ------------------------------------------------------------ | -| 1.修改网卡名 | openSUSE操作系统默认网卡名就是eth0、eth1不用修改 | -| 2.设置网络 | 包括设置IP地址、子网掩码位数、网关地址和DNS地址,包括单网卡和双网卡 | -| 3.设置主机名 | | -| 4.设置镜像仓库 | Kylin Server和UOS Server操作系统只有官方镜像仓库,没有合适的第三方镜像仓库,不用设置 | -| 5.Minimal安装建议安装软件 | | -| 6.关闭防火墙 | Ubuntu操作系统默认安装的防火墙的防火墙是ufw,Debian操作系统默认没有安装防火墙,其它操作系统默认安装的防火墙都是firewall | -| 7.禁用SELinux | Ubuntu、Debian和openSUSE操作系统默认没有安装SELinux,不用设置 | -| 8.禁用AppArmor | 只有openSUSE操作系统默认安装AppArmor,其它操作系统都不用设置 | -| 9.禁用SWAP | | -| 10.设置系统时区 | | -| 11.优化资源限制参数 | | -| 12.优化内核参数 | | -| 13.优化SSH | | -| 14.更改SSH端口号 | | -| 15.设置系统别名 | | -| 16.设置vimrc配置文件 | | -| 17.安装邮件服务并配置 | | -| 18.设置PS1 | | -| 19.设置默认文本编辑器为vim | | -| 20.设置history格式 | | -| 21.禁用ctrl+alt+del重启系统功能 | | -| 22.Ubuntu和Debian设置root用户登录 | 只支持Ubuntu和Debian操作系统 | -| 23.Ubuntu卸载无用软件包 | 只支持Ubuntu操作系统 | -| 24.Ubuntu卸载snap | 只支持Ubuntu操作系统 | +| **支持的功能** | 备注 | +| ------------------------------- | ------------------------------------------------------------ | +| 1.设置root用户登录 | | +| 2.修改网卡名 | openSUSE Leap 15操作系统默认网卡名就是eth0、eth1不用修改 | +| 3.设置网络 | 包括设置IP地址、子网掩码位数、网关地址和DNS地址,包括单网卡和双网卡 | +| 4.设置主机名 | | +| 5.设置镜像仓库 | Kylin Server和UOS Server操作系统只有官方镜像仓库,没有合适的第三方镜像仓库,不用设置 | +| 6.建议安装软件 | | +| 7.关闭防火墙 | Ubuntu操作系统默认安装的防火墙的防火墙是ufw,Debian操作系统默认没有安装防火墙,其它操作系统默认安装的防火墙都是firewall | +| 8.禁用SELinux | Ubuntu、Debian和openSUSE Leap 15操作系统默认没有安装SELinux,不用设置 | +| 9.禁用AppArmor | 只有openSUSE Leap 15操作系统默认安装AppArmor,其它操作系统都不用设置 | +| 10.禁用SWAP | | +| 11.设置系统时区 | | +| 12.优化资源限制参数 | | +| 13.优化内核参数 | | +| 14.优化SSH | | +| 15.更改SSH端口号 | | +| 16.设置系统别名 | | +| 17.设置vimrc配置文件 | | +| 18.安装邮件服务并配置 | | +| 19.设置PS1 | | +| 20.设置默认文本编辑器为vim | | +| 21.设置history格式 | | +| 22.禁用ctrl+alt+del重启系统功能 | | +| 23.Ubuntu卸载无用软件包 | 只支持Ubuntu操作系统 | +| 24.Ubuntu卸载snap | 只支持Ubuntu操作系统 | **版本支持的操作系统:** @@ -48,7 +48,7 @@ Github:https://github.com/raymond999999/shell | openEuler版 | openEuler 22.03/24.03 LTS | https://gitee.com/raymond9/shell/tree/main/reset/reset_openeuler | | AnolisOS版 | AnolisOS 8/23 | https://gitee.com/raymond9/shell/tree/main/reset/reset_anolisos | | OpenCloudOS版 | OpenCloudOS 8/9 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opencloudos | -| openSUSE版 | openSUSE Leap 15 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opensuse | +| openSUSE版 | openSUSE Leap 15/16 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opensuse | | Kylin Server版 | 银河麒麟(Kylin Server) V10/V11 | https://gitee.com/raymond9/shell/tree/main/reset/reset_kylin_server | | UOS Server版 | 统信(UOS Server) V20 | https://gitee.com/raymond9/shell/tree/main/reset/reset_uos_server | @@ -64,16 +64,16 @@ Github:https://github.com/raymond999999/shell | | 6.修复了修改网卡名的bug; | | | 7.添加了对Rocky Linux 10和AlmaLinux 10系统的支持; | | | 8.添加了对Debian 13系统的支持; | -| | 9.修改了某些bug; | +| | 9.修改了某些bug。 | | Uos Server版更新的内容 | 1.添加了对统信(UOS Server)V20系统的支持; | | | 2.通过修改GRUB配置文件来修改网卡名时,如果是UEFI引导系统,“grub.cfg”文件位置发生了改变,添加了相关功能; | | | 3.修复了修改网卡名的bug; | -| | 4.修改了某些bug; | +| | 4.修改了某些bug。 | | Kylin Server版更新的内容 | 1.添加了对银河麒麟(Kylin Server)V10系统的支持; | | | 2.通过修改GRUB配置文件来修改网卡名时,如果是UEFI引导系统,“grub.cfg”文件位置发生了改变,添加了相关功能; | | | 3.修复了修改网卡名的bug; | | | 4.添加了对银河麒麟(Kylin Server)V11系统的支持; | -| | 5.修改了某些bug; | +| | 5.修改了某些bug。 | | openSUSE版更新的内容 | 1.添加了对openSUSE Leap 15系统的支持; | | | 2.修复了“禁用SWAP”不生效的问题; | | | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题; | @@ -81,7 +81,8 @@ Github:https://github.com/raymond999999/shell | | 5.openSUSE Leap 15系统pcre安装包名改成了pcre-tools,openssl-devel安装包名改成了libopenssl-devel; | | | 6.对单网卡和双网卡的配置进行了统一处理,能够自动识别当前是单网卡还是双网卡环境,并据此进行相应的配置设置; | | | 7.修复了设置网络时DNS设置不生效的问题; | -| | 8.修改了某些bug; | +| | 8.添加了对openSUSE Leap 16系统的支持;openSUSE Leap 16需要设置root用户登录,需要修改网卡名,网卡配置文件变成了“/etc/NetworkManager/system-connections/eth0.nmconnection”,ssh服务配置文件变成了“/usr/etc/ssh/sshd_config”; | +| | 9.修改了某些bug。 | | OpenCloudOS版更新的内容 | 1.添加了对OpenCloudOS 8和9系统的支持; | | | 2.修复了“禁用SWAP”不生效的问题; | | | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题; | @@ -90,7 +91,7 @@ Github:https://github.com/raymond999999/shell | | 6.通过修改GRUB配置文件来修改网卡名时,如果是UEFI引导系统,“grub.cfg”文件位置发生了改变,添加了相关功能; | | | 7.修复了修改网卡名的bug; | | | 8.添加了启用OpenCloudOS 8 PowerTools仓库的功能; | -| | 9.修改了某些bug; | +| | 9.修改了某些bug。 | | AnolisOS版更新的内容 | 1.添加了对AnolisOS 8和23系统的支持; | | | 2.修复了“禁用SWAP”不生效的问题; | | | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题; | @@ -98,21 +99,21 @@ Github:https://github.com/raymond999999/shell | | 5.由于AnolisOS 23对网卡命名规则进行了更改,使用nmcli命令来修改IP地址的方法不再适用。因此,我们采用了通过配置文件来设置IP地址的方式。同时,对单网卡和双网卡的配置进行了统一处理,能够自动识别当前是单网卡还是双网卡环境,并据此进行相应的配置设置; | | | 6.通过修改GRUB配置文件来修改网卡名时,如果是UEFI引导系统,“grub.cfg”文件位置发生了改变,添加了相关功能; | | | 7.修复了修改网卡名的bug; | -| | 8.修改了某些bug; | +| | 8.修改了某些bug。 | | openEuler版更新的内容 | 1.添加了对openEuler 22.03/24.03 LTS系统的支持; | | | 2.修复了“禁用SWAP”不生效的问题; | | | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题; | | | 4.对单网卡和双网卡的配置进行了统一处理,能够自动识别当前是单网卡还是双网卡环境,并据此进行相应的配置设置; | | | 5.通过修改GRUB配置文件来修改网卡名时,如果是UEFI引导系统,“grub.cfg”文件位置发生了改变,添加了相关功能; | | | 6.修复了修改网卡名的bug; | -| | 7.修改了某些bug; | +| | 7.修改了某些bug。 | | v9版更新内容 | 1.由于CentOS Stream 8 已于 2024 年 5 月 31 日到期, CentOS Linux 7 的生命周期结束日期是 2024 年 6 月 30 日,将CentOS Stream 8和CentOS 7的镜像仓库都改成了centos-vault仓库;把CentOS 7的epel仓库改成了epel-archive仓库; | | | 2.添加了对Ubuntu Server 24.04 LTS系统的支持;(Ubuntu Server 24.04 LTS的变更:网卡配置文件变成了“/etc/netplan/50-cloud-init.yaml”,镜像仓库格式变成了DEB822 格式,ssh服务的服务名变成了ssh;) | | | 3.添加了对Debian 11和12系统的支持; | | | 4.添加了AlmaLinux的devel仓库; | | | 5.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题; | | | 6.添加了对CentOS Stream 10系统的支持,修复了“禁用SWAP”不生效的问题,CentOS Stream 10系统pcre安装包名改成了pcre2,pcre-devel安装包名改成了pcre2-devel; | -| | 7.修改了某些bug; | +| | 7.修改了某些bug。 | | v8版更新内容 | 1.添加了对AlmaLinux 8和9系统的支持; | | | 2.添加Ubuntu卸载snap的功能; | | | 3.修改了某些bug。 | diff --git a/reset/reset.jpg b/reset/reset.jpg index 56fab44..9159c5a 100644 Binary files a/reset/reset.jpg and b/reset/reset.jpg differ diff --git a/reset/reset_anolisos/reset_anolisos.sh b/reset/reset_anolisos/reset_anolisos.sh index 4247c78..75b90f8 100644 --- a/reset/reset_anolisos/reset_anolisos.sh +++ b/reset/reset_anolisos/reset_anolisos.sh @@ -4,7 +4,7 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-19 #FileName: reset_anolisos.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports @@ -13,6 +13,7 @@ #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,9 +25,20 @@ os(){ fi } +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + set_anolis_8_eth(){ sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -80,7 +92,7 @@ Name=eth1 EOF } -set_eth(){ +set_anolisos_eth(){ IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l` if [ ${MAIN_VERSION_ID} == "8" ];then if [ ${IP_NUM} == "2" ];then @@ -125,6 +137,15 @@ set_eth(){ fi } +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + set_anolisos_eth + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -314,12 +335,15 @@ EOF minimal_install(){ ${COLOR}'开始安装“Minimal安装建议安装软件包”,请稍等......'${END} - yum install -y vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip man-pages &> /dev/null + yum install -y vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip &> /dev/null + if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then + yum install -y man-pages &> /dev/null + fi ${COLOR}"${PRETTY_NAME}操作系统,Minimal安装建议安装软件包已安装完成!"${END} } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} } disable_selinux(){ @@ -333,13 +357,9 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -715,9 +735,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -725,111 +745,211 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -*************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 13.更改SSH端口号 * -* 2.设置网络 14.设置系统别名 * -* 3.设置主机名 15.设置vimrc配置文件 * -* 4.设置镜像仓库 16.安装邮件服务并配置邮件 * -* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) * -* 6.关闭防火墙 18.设置默认文本编辑器为vim * -* 7.禁用SELinux 19.设置history格式 * -* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 * -* 9.设置系统时区 21.重启系统 * -* 10.优化资源限制参数 22.关机 * -* 11.优化内核参数 23.退出 * -* 12.优化SSH * -*************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 13.优化SSH * +* 2.修改网卡名 14.更改SSH端口号 * +* 3.设置网络 15.设置系统别名 * +* 4.设置主机名 16.设置vimrc配置文件 * +* 5.设置镜像仓库 17.安装邮件服务并配置 * +* 6.建议安装软件 18.设置PS1(请进入选择颜色) * +* 7.关闭防火墙 19.设置默认文本编辑器为vim * +* 8.禁用SELinux 20.设置history格式 * +* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 * +* 10.设置系统时区 22.重启系统 * +* 11.优化资源限制参数 23.关机 * +* 12.优化内核参数 24.退出 * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-23): " choice + read -p "请选择相应的编号(1-24): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - base_menu + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + base_menu + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - reboot + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 22) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 23) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 24) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-23)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-24)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == "Anolis" ];then - if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 23 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "Anolis" ];then + if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 23 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_kylin_server/reset_kylin_server.sh b/reset/reset_kylin_server/reset_kylin_server.sh index 61b5d19..2b578fa 100644 --- a/reset/reset_kylin_server/reset_kylin_server.sh +++ b/reset/reset_kylin_server/reset_kylin_server.sh @@ -4,15 +4,16 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-19 #FileName: reset_kylin_server.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports -# “Kylin Server V10 and V11“ operating systems. +# “Kylin Server v10 and v11“ operating systems. #Copyright (C): 2025 All rights reserved #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,12 +25,23 @@ os(){ fi } -set_eth(){ +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + +set_kylin_eth(){ if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then ${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END} else sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -43,6 +55,15 @@ set_eth(){ fi } +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + set_kylin_eth + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -214,8 +235,8 @@ set_network(){ else set_dual_network fi - ${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,10秒后,机器会自动重启!"${END} - sleep 10 && shutdown -r now + ${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,10秒后,机器会自动重启!"${END} + sleep 10 && shutdown -r now else if [ ${IP_NUM} == "2" ];then set_network_eth0 @@ -223,7 +244,7 @@ set_network(){ set_network_eth0 set_network_eth1 fi - ${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,请重新启动系统后生效!"${END} + ${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,请重新启动系统后生效!"${END} fi } @@ -240,7 +261,7 @@ minimal_install(){ } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} } disable_selinux(){ @@ -254,13 +275,9 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -619,9 +636,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -629,107 +646,204 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -*************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 12.更改SSH端口号 * -* 2.设置网络 13.设置系统别名 * -* 3.设置主机名 14.设置vimrc配置文件 * -* 4.Minimal安装建议安装软件 15.安装邮件服务并配置邮件 * -* 5.关闭防火墙 16.设置PS1(请进入选择颜色) * -* 6.禁用SELinux 17.设置默认文本编辑器为vim * -* 7.禁用SWAP 18.设置history格式 * -* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 * -* 9.优化资源限制参数 20.重启系统 * -* 10.优化内核参数 21.关机 * -* 11.优化SSH 22.退出 * -*************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 13.更改SSH端口号 * +* 2.修改网卡名 14.设置系统别名 * +* 3.设置网络 15.设置vimrc配置文件 * +* 4.设置主机名 16.安装邮件服务并配置 * +* 5.建议安装软件 17.设置PS1(请进入选择颜色) * +* 6.关闭防火墙 18.设置默认文本编辑器为vim * +* 7.禁用SELinux 19.设置history格式 * +* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 * +* 9.设置系统时区 21.重启系统 * +* 10.优化资源限制参数 22.关机 * +* 11.优化内核参数 23.退出 * +* 12.优化SSH * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-22): " choice + read -p "请选择相应的编号(1-23): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - reboot + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 22) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 23) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-22)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-23)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == "Kylin" ];then - if [ ${MAIN_VERSION_ID} == 10 -o ${MAIN_VERSION_ID} == 11 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "Kylin" ];then + if [ ${MAIN_VERSION_ID} == 10 -o ${MAIN_VERSION_ID} == 11 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_opencloudos/reset_opencloudos.sh b/reset/reset_opencloudos/reset_opencloudos.sh index 4a43504..561911b 100644 --- a/reset/reset_opencloudos/reset_opencloudos.sh +++ b/reset/reset_opencloudos/reset_opencloudos.sh @@ -4,15 +4,16 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-19 #FileName: reset_opencloudos.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports -# “OpenCloudOS 8 and 9“ operating systems. +# “OpencloudOS 8 and 9“ operating systems. #Copyright (C): 2025 All rights reserved #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,9 +25,20 @@ os(){ fi } +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + set_opencloudos_7_8_eth(){ sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -65,7 +77,7 @@ Name=eth1 EOF } -set_eth(){ +set_opencloudos_eth(){ if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then ${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END} @@ -97,6 +109,15 @@ set_eth(){ fi } +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + set_opencloudos_eth + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -138,7 +159,7 @@ set_network_eth0(){ [ $? -eq 0 ] && break done if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then - cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<-EOF + cat > /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} <<-EOF NAME=${ETHNAME} DEVICE=${ETHNAME} ONBOOT=yes @@ -336,7 +357,7 @@ minimal_install(){ } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${NAME}} ${VERSION_ID}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${NAME}} ${VERSION_ID}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} } disable_selinux(){ @@ -350,13 +371,9 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${NAME}} ${VERSION_ID}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -498,18 +515,35 @@ set_base_alias(){ ETHNAME2=`ip addr | awk -F"[ :]" '/^3/{print $3}'` IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l` if [ ${IP_NUM} == "2" ];then - cat >>~/.bashrc <<-EOF + if [ ${MAIN_VERSION_ID} == "8" ];then + cat >>~/.bashrc <<-EOF alias cdnet="cd /etc/sysconfig/network-scripts" alias cdrepo="cd /etc/yum.repos.d" alias vie0="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME}" EOF + else + cat >>~/.bashrc <<-EOF +alias cdnet="cd /etc/NetworkManager/system-connections" +alias cdrepo="cd /etc/yum.repos.d" +alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection" +EOF + fi else - cat >>~/.bashrc <<-EOF + if [ -o ${MAIN_VERSION_ID} == "8" ];then + cat >>~/.bashrc <<-EOF alias cdnet="cd /etc/sysconfig/network-scripts" alias cdrepo="cd /etc/yum.repos.d" alias vie0="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME}" alias vie1="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME2}" EOF + else + cat >>~/.bashrc <<-EOF +alias cdnet="cd /etc/NetworkManager/system-connections" +alias cdrepo="cd /etc/yum.repos.d" +alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection" +alias vie1="vim /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection" +EOF + fi fi DISK_NAME=`lsblk|awk -F" " '/disk/{printf $1}' | cut -c1-4` if [ ${DISK_NAME} == "sda" ];then @@ -715,9 +749,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -725,111 +759,211 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -*************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 13.更改SSH端口号 * -* 2.设置网络 14.设置系统别名 * -* 3.设置主机名 15.设置vimrc配置文件 * -* 4.设置镜像仓库 16.安装邮件服务并配置邮件 * -* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) * -* 6.关闭防火墙 18.设置默认文本编辑器为vim * -* 7.禁用SELinux 19.设置history格式 * -* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 * -* 9.设置系统时区 21.重启系统 * -* 10.优化资源限制参数 22.关机 * -* 11.优化内核参数 23.退出 * -* 12.优化SSH * -*************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 13.优化SSH * +* 2.修改网卡名 14.更改SSH端口号 * +* 3.设置网络 15.设置系统别名 * +* 4.设置主机名 16.设置vimrc配置文件 * +* 5.设置镜像仓库 17.安装邮件服务并配置 * +* 6.建议安装软件 18.设置PS1(请进入选择颜色) * +* 7.关闭防火墙 19.设置默认文本编辑器为vim * +* 8.禁用SELinux 20.设置history格式 * +* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 * +* 10.设置系统时区 22.重启系统 * +* 11.优化资源限制参数 23.关机 * +* 12.优化内核参数 24.退出 * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-23): " choice + read -p "请选择相应的编号(1-24): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - opencloudos_menu + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + base_menu + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - reboot + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 22) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 23) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 24) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-23)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-24)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == 'OpenCloudOS' ];then - if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == 'OpenCloudOS' ];then + if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_openeuler/reset_openeuler.sh b/reset/reset_openeuler/reset_openeuler.sh index 9f3bb9a..e9ed33a 100644 --- a/reset/reset_openeuler/reset_openeuler.sh +++ b/reset/reset_openeuler/reset_openeuler.sh @@ -4,7 +4,7 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-18 #FileName: reset_openeuler.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports @@ -13,6 +13,7 @@ #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,12 +25,23 @@ os(){ fi } -set_eth(){ +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + +set_openeuler_eth(){ if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then ${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END} else sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -43,6 +55,15 @@ set_eth(){ fi } +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + set_openeuler_eth + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -308,7 +329,7 @@ minimal_install(){ } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} } disable_selinux(){ @@ -322,13 +343,9 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -687,9 +704,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -697,111 +714,211 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -*************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 13.更改SSH端口号 * -* 2.设置网络 14.设置系统别名 * -* 3.设置主机名 15.设置vimrc配置文件 * -* 4.设置镜像仓库 16.安装邮件服务并配置邮件 * -* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) * -* 6.关闭防火墙 18.设置默认文本编辑器为vim * -* 7.禁用SELinux 19.设置history格式 * -* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 * -* 9.设置系统时区 21.重启系统 * -* 10.优化资源限制参数 22.关机 * -* 11.优化内核参数 23.退出 * -* 12.优化SSH * -*************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 13.优化SSH * +* 2.修改网卡名 14.更改SSH端口号 * +* 3.设置网络 15.设置系统别名 * +* 4.设置主机名 16.设置vimrc配置文件 * +* 5.设置镜像仓库 17.安装邮件服务并配置 * +* 6.建议安装软件 18.设置PS1(请进入选择颜色) * +* 7.关闭防火墙 19.设置默认文本编辑器为vim * +* 8.禁用SELinux 20.设置history格式 * +* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 * +* 10.设置系统时区 22.重启系统 * +* 11.优化资源限制参数 23.关机 * +* 12.优化内核参数 24.退出 * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-23): " choice + read -p "请选择相应的编号(1-24): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - base_menu + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + base_menu + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - reboot + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 22) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 23) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 24) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-23)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-24)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == "openEuler" ];then - if [ ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "openEuler" ];then + if [ ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_opensuse/reset_opensuse.sh b/reset/reset_opensuse/reset_opensuse.sh index 16c4593..890a1c6 100644 --- a/reset/reset_opensuse/reset_opensuse.sh +++ b/reset/reset_opensuse/reset_opensuse.sh @@ -4,15 +4,16 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-19 #FileName: reset_opensuse.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports -# “openSUSE Leap 15“ operating systems. +# “openSUSE Leap 15 and 16“ operating systems. #Copyright (C): 2025 All rights reserved #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,6 +25,51 @@ os(){ fi } +set_root_login(){ + read -p "请输入密码: " PASSWORD + if [ ${MAIN_VERSION_ID} == 15 ];then + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + else + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /usr/etc/ssh/sshd_config + fi + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + +set_opensuse_eth(){ + if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END} + else + sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@net.ifnames=0 biosdevname=0"@' /etc/default/grub + if lsblk | grep -q EFI;then + EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` + grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null + else + grub2-mkconfig -o /boot/grub2/grub.cfg >& /dev/null + fi + ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'` + mv /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnection + sed -ri.bak -e 's/Wired\ connection\ 1/eth0/' -e 's/'${ETHNAME}'/eth0/' /etc/NetworkManager/system-connections/eth0.nmconnection + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改成功,10秒后,机器会自动重启!"${END} + sleep 10 && shutdown -r now + fi +} + +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + if [ ${MAIN_VERSION_ID} == 16 ];then + set_opensuse_eth + fi + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -64,16 +110,30 @@ set_network_eth0(){ check_ip ${BACKUP_DNS} [ $? -eq 0 ] && break done - cat > /etc/sysconfig/network/ifcfg-${ETHNAME} <<-EOF + if [ ${MAIN_VERSION_ID} == 15 ];then + cat > /etc/sysconfig/network/ifcfg-${ETHNAME} <<-EOF STARTMODE='auto' BOOTPROTO='static' IPADDR='${IP}/${PREFIX}' EOF - touch /etc/sysconfig/network/routes - cat > /etc/sysconfig/network/routes <<-EOF + touch /etc/sysconfig/network/routes + cat > /etc/sysconfig/network/routes <<-EOF default ${GATEWAY} - - EOF - sed -ri 's/(NETCONFIG_DNS_STATIC_SERVERS=).*/\1"'${PRIMARY_DNS}' '${BACKUP_DNS}'"/g' /etc/sysconfig/network/config + sed -ri 's/(NETCONFIG_DNS_STATIC_SERVERS=).*/\1"'${PRIMARY_DNS}' '${BACKUP_DNS}'"/g' /etc/sysconfig/network/config + else + cat > /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection <<-EOF +[connection] +id=${ETHNAME} +type=ethernet +interface-name=${ETHNAME} + +[ipv4] +address1=${IP}/${PREFIX},${GATEWAY} +dns=${PRIMARY_DNS};${BACKUP_DNS}; +method=manual +EOF + fi } set_network_eth1(){ @@ -84,11 +144,25 @@ set_network_eth1(){ [ $? -eq 0 ] && break done read -p "请输入子网掩码位数: " PREFIX2 - cat > /etc/sysconfig/network/ifcfg-${ETHNAME2} <<-EOF + if [ ${MAIN_VERSION_ID} == 15 ];then + cat > /etc/sysconfig/network/ifcfg-${ETHNAME2} <<-EOF STARTMODE='auto' BOOTPROTO='static' IPADDR='${IP2}/${PREFIX2}' EOF + else + cat > /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection <<-EOF +[connection] +id=${ETHNAME2} +type=ethernet +interface-name=${ETHNAME2} + +[ipv4] +address1=${IP2}/${PREFIX2} +method=manual +EOF + chmod 600 /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection + fi } set_network(){ @@ -173,12 +247,12 @@ iscas(){ } set_zypper(){ - OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/zypp/repos.d/repo-*.repo | head -1) + OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/zypp/repos.d/*repo-*.repo | head -1) OLD_MIRROR_URL=`echo ${OLD_MIRROR} | awk -F"." '{print $2}'` if [ ${OLD_MIRROR_URL} == "opensuse" ];then - sed -i.bak 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/opensuse|g' /etc/zypp/repos.d/repo-*.repo + sed -i.bak 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/opensuse|g' /etc/zypp/repos.d/*repo-*.repo else - sed -i -e 's|'${OLD_MIRROR}'|'${MIRROR}'|g' /etc/zypp/repos.d/repo-*.repo + sed -i -e 's|'${OLD_MIRROR}'|'${MIRROR}'|g' /etc/zypp/repos.d/*repo-*.repo fi ${COLOR}"更新镜像源中,请稍等..."${END} zypper clean &> /dev/null && zypper refresh &> /dev/null @@ -287,28 +361,45 @@ EOF minimal_install(){ ${COLOR}'开始安装“建议安装软件包”,请稍等......'${END} - zypper addrepo https://download.opensuse.org/repositories/home:psi-jack/15.6/home:psi-jack.repo &> /dev/null - zypper --no-gpg-checks refresh &> /dev/null - zypper install -y lrzsz tree tmux tcpdump iotop bc &> /dev/null + zypper install -y tree tmux tcpdump iotop bc &> /dev/null + if [ ${MAIN_VERSION_ID} == 15 ];then + zypper addrepo https://download.opensuse.org/repositories/home:psi-jack/15.6/home:psi-jack.repo &> /dev/null + zypper --no-gpg-checks refresh &> /dev/null + zypper install -y lrzsz &> /dev/null + fi ${COLOR}"${PRETTY_NAME}操作系统,建议安装软件包已安装完成!"${END} } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} +} + +disable_selinux(){ + if [ ${MAIN_VERSION_ID} == 16 ];then + if [ `getenforce` == "Enforcing" ];then + sed -ri.bak 's/^(SELINUX=).*/\1disabled/' /etc/selinux/config + setenforce 0 + ${COLOR}"${PRETTY_NAME}操作系统,SELinux已禁用,请重新启动系统后才能永久生效!"${END} + else + ${COLOR}"${PRETTY_NAME}操作系统,SELinux已被禁用,不用设置!"${END} + fi + else + ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装SELinux,不用设置!"${END} + fi } disable_apparmor(){ - systemctl disable --now apparmor &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,AppArmor已禁用!"${END} + if [ ${MAIN_VERSION_ID} == 15 ];then + systemctl disable --now apparmor &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,AppArmor已禁用!"${END} + else + ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装AppArmor,不用设置!"${END} + fi } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -431,16 +522,28 @@ EOF } optimization_ssh(){ - sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config + if [ ${MAIN_VERSION_ID} == 15 ];then + sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config + else + sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /usr/etc/ssh/sshd_config + fi systemctl restart sshd ${COLOR}"${PRETTY_NAME}操作系统,SSH已优化完成!"${END} } set_ssh_port(){ - disable_apparmor + if [ ${MAIN_VERSION_ID} == 15 ];then + disable_apparmor + else + disable_selinux + fi disable_firewalls read -p "请输入端口号: " PORT - sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config + if [ ${MAIN_VERSION_ID} == 15 ];then + sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config + else + sed -i 's/#Port 22/Port '${PORT}'/' /usr/etc/ssh/sshd_config + fi systemctl restart sshd ${COLOR}"${PRETTY_NAME}操作系统,更改SSH端口号已完成,请重新登陆后生效!"${END} } @@ -450,18 +553,35 @@ set_base_alias(){ ETHNAME2=`ip addr | awk -F"[ :]" '/^3/{print $3}'` IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l` if [ ${IP_NUM} == "2" ];then - cat >>~/.bashrc <<-EOF + if [ ${MAIN_VERSION_ID} == "15" ];then + cat >>~/.bashrc <<-EOF alias cdnet="cd /etc/sysconfig/network" alias cdrepo="cd /etc/zypp/repos.d" alias vie0="vim /etc/sysconfig/network/ifcfg-${ETHNAME}" EOF + else + cat >>~/.bashrc <<-EOF +alias cdnet="cd /etc/NetworkManager/system-connections" +alias cdrepo="cd /etc/zypp/repos.d" +alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection" +EOF + fi else - cat >>~/.bashrc <<-EOF + if [ -o ${MAIN_VERSION_ID} == "15" ];then + cat >>~/.bashrc <<-EOF alias cdnet="cd /etc/sysconfig/network" alias cdrepo="cd /etc/zypp/repos.d" alias vie0="vim /etc/sysconfig/network/ifcfg-${ETHNAME}" alias vie1="vim /etc/sysconfig/network/ifcfg-${ETHNAME2}" EOF + else + cat >>~/.bashrc <<-EOF +alias cdnet="cd /etc/NetworkManager/system-connections" +alias cdrepo="cd /etc/zypp/repos.d" +alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection" +alias vie1="vim /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection" +EOF + fi fi DISK_NAME=`lsblk|awk -F" " '/disk/{printf $1}' | cut -c1-4` if [ ${DISK_NAME} == "sda" ];then @@ -473,9 +593,13 @@ EOF } set_alias(){ - if grep -Eqi "(.*cdnet|.*cdrepo|.*vie0|.*vie1|.*scandisk)" ~/.bashrc;then - sed -i -e '/.*cdnet/d' -e '/.*cdrepo/d' -e '/.*vie0/d' -e '/.*vie1/d' -e '/.*scandisk/d' ~/.bashrc - set_base_alias + if [ -a ~/.bashrc ];then + if grep -Eqi "(.*cdnet|.*cdrepo|.*vie0|.*vie1|.*scandisk)" ~/.bashrc;then + sed -i -e '/.*cdnet/d' -e '/.*cdrepo/d' -e '/.*vie0/d' -e '/.*vie1/d' -e '/.*scandisk/d' ~/.bashrc + set_base_alias + else + set_base_alias + fi else set_base_alias fi @@ -565,9 +689,13 @@ set_base_ps1(){ } set_ps1_env(){ - if grep -Eqi "^.*PS1" ~/.bashrc;then - sed -i '/^.*PS1/d' ~/.bashrc - set_base_ps1 + if [ -a ~/.bashrc ];then + if grep -Eqi "^.*PS1" ~/.bashrc;then + sed -i '/^.*PS1/d' ~/.bashrc + set_base_ps1 + else + set_base_ps1 + fi else set_base_ps1 fi @@ -641,9 +769,13 @@ set_vim(){ } set_vim_env(){ - if grep -Eqi ".*EDITOR" ~/.bashrc;then - sed -i '/.*EDITOR/d' ~/.bashrc - set_vim + if [ -a ~/.bashrc ];then + if grep -Eqi ".*EDITOR" ~/.bashrc;then + sed -i '/.*EDITOR/d' ~/.bashrc + set_vim + else + set_vim + fi else set_vim fi @@ -655,9 +787,13 @@ set_history(){ } set_history_env(){ - if grep -Eqi ".*HISTTIMEFORMAT" ~/.bashrc;then - sed -i '/.*HISTTIMEFORMAT/d' ~/.bashrc - set_history + if [ -a ~/.bashrc ];then + if grep -Eqi ".*HISTTIMEFORMAT" ~/.bashrc;then + sed -i '/.*HISTTIMEFORMAT/d' ~/.bashrc + set_history + else + set_history + fi else set_history fi @@ -667,9 +803,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -677,107 +813,219 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -******************************************************* -* 系统初始化脚本菜单 * -* 1.设置网络 12.更改SSH端口号 * -* 2.设置主机名 13.设置系统别名 * -* 3.设置镜像仓库 14.设置vimrc配置文件 * -* 4.建议安装软件 15.安装邮件服务并配置邮件 * -* 5.关闭防火墙 16.设置PS1(请进入选择颜色) * -* 6.禁用AppArmor 17.设置默认文本编辑器为vim * -* 7.禁用SWAP 18.设置history格式 * -* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 * -* 9.优化资源限制参数 20.重启系统 * -* 10.优化内核参数 21.关机 * -* 11.优化SSH 22.退出 * -******************************************************* +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 14.优化SSH * +* 2.修改网卡名 15.更改SSH端口号 * +* 3.设置网络 16.设置系统别名 * +* 4.设置主机名 17.设置vimrc配置文件 * +* 5.设置镜像仓库 18.安装邮件服务并配置 * +* 6.建议安装软件 19.设置PS1(请进入选择颜色) * +* 7.关闭防火墙 20.设置默认文本编辑器为vim * +* 8.禁用SELinux 21.设置history格式 * +* 9.禁用AppArmor 22.禁用ctrl+alt+del重启系统功能 * +* 10.禁用SWAP 23.重启系统 * +* 11.设置系统时区 24.关机 * +* 12.优化资源限制参数 25.退出 * +* 13.优化内核参数 * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-22): " choice + read -p "请选择相应的编号(1-25): " choice case ${choice} in 1) - set_network + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - base_menu + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + base_menu + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_apparmor + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_limits + if [ ${LOGIN_USER} == "root" ];then + disable_apparmor + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - reboot + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 22) + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi + ;; + 23) + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi + ;; + 24) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 25) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-22)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-25)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == "openSUSE" ];then - if [ ${MAIN_VERSION_ID} == 15 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "openSUSE" ];then + if [ ${MAIN_VERSION_ID} == 15 -o ${MAIN_VERSION_ID} == 16 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_uos_server/reset_uos_server.sh b/reset/reset_uos_server/reset_uos_server.sh index 945055f..53b8fed 100644 --- a/reset/reset_uos_server/reset_uos_server.sh +++ b/reset/reset_uos_server/reset_uos_server.sh @@ -4,7 +4,7 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-19 #FileName: reset_uos_server.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports @@ -13,6 +13,7 @@ #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -24,12 +25,23 @@ os(){ fi } -set_eth(){ +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + sudo systemctl restart sshd + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} +} + +set_uos_eth(){ if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then ${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END} else sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -43,6 +55,15 @@ set_eth(){ fi } +set_eth(){ + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} + else + set_uos_eth + fi +} + check_ip(){ local IP=$1 VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') @@ -174,7 +195,7 @@ minimal_install(){ } disable_firewalls(){ - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} } disable_selinux(){ @@ -188,13 +209,9 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} - fi + systemctl mask swap.target &> /dev/null + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -553,9 +570,9 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } @@ -563,107 +580,204 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -*************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 12.更改SSH端口号 * -* 2.设置网络 13.设置系统别名 * -* 3.设置主机名 14.设置vimrc配置文件 * -* 4.Minimal安装建议安装软件 15.安装邮件服务并配置邮件 * -* 5.关闭防火墙 16.设置PS1(请进入选择颜色) * -* 6.禁用SELinux 17.设置默认文本编辑器为vim * -* 7.禁用SWAP 18.设置history格式 * -* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 * -* 9.优化资源限制参数 20.重启系统 * -* 10.优化内核参数 21.关机 * -* 11.优化SSH 22.退出 * -*************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 13.更改SSH端口号 * +* 2.修改网卡名 14.设置系统别名 * +* 3.设置网络 15.设置vimrc配置文件 * +* 4.设置主机名 16.安装邮件服务并配置 * +* 5.建议安装软件 17.设置PS1(请进入选择颜色) * +* 6.关闭防火墙 18.设置默认文本编辑器为vim * +* 7.禁用SELinux 19.设置history格式 * +* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 * +* 9.设置系统时区 21.重启系统 * +* 10.优化资源限制参数 22.关机 * +* 11.优化内核参数 23.退出 * +* 12.优化SSH * +******************************************************** EOF echo -e '\E[0m' - read -p "请选择相应的编号(1-22): " choice + read -p "请选择相应的编号(1-23): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - reboot + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 22) + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi + ;; + 23) break ;; *) - ${COLOR}"输入错误,请输入正确的数字(1-22)!"${END} + ${COLOR}"输入错误,请输入正确的数字(1-23)!"${END} ;; esac done } main(){ - os - if [ ${MAIN_NAME} == "UOS" ];then - if [ ${MAIN_VERSION_ID} == 20 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "UOS" ];then + if [ ${MAIN_VERSION_ID} == 20 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi diff --git a/reset/reset_v10/reset_v10.sh b/reset/reset_v10/reset_v10.sh index 8cb0a0e..4e18f28 100644 --- a/reset/reset_v10/reset_v10.sh +++ b/reset/reset_v10/reset_v10.sh @@ -4,11 +4,11 @@ #Author: Raymond #QQ: 88563128 #MP: Raymond运维 -#Date: 2025-09-30 +#Date: 2025-10-20 #FileName: reset_v10.sh #URL: https://wx.zsxq.com/group/15555885545422 #Description: The reset linux system initialization script supports -# “Rocky Linux 8, 9 and 10, AlmaLinux 8, 9 and 10, +# “Rocky Linux 8, 9 and 10, Almalinux 8, 9 and 10, # CentOS 7, CentOS Stream 8, 9 and 10, # Ubuntu Server 18.04, 20.04, 22.04 and 24.04 LTS, # Debian 11 , 12 and 13“ operating systems. @@ -16,6 +16,7 @@ #********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` os(){ . /etc/os-release @@ -27,9 +28,34 @@ os(){ fi } +set_root_login(){ + read -p "请输入密码: " PASSWORD + echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config + if [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 24 ];then + sudo systemctl restart ssh + fi + else + sudo systemctl restart sshd + fi + sudo -S passwd root <<-EOF +${PASSWORD} +${PASSWORD} +EOF + if [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新启动系统后生效!"${END} + else + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} + fi + else + ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} + fi +} + set_rocky_almalinux_centos_7_8_eth(){ sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub - if lsblk | grep -q efi;then + if lsblk | grep -q EFI;then EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'` grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null else @@ -136,10 +162,15 @@ EOF } set_eth(){ - if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then - set_rocky_almalinux_centos_eth + ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"` + if [ ${ETH_PREFIX_NAME} == "eth" ];then + ${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END} else - set_ubuntu_debian_eth + if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then + set_rocky_almalinux_centos_eth + else + set_ubuntu_debian_eth + fi fi } @@ -230,7 +261,6 @@ IPADDR=${IP2} PREFIX=${PREFIX2} EOF else - nmcli connection modify "${CONNECTION_NAME2}" con-name ${ETHNAME2} cat > /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection <<-EOF [connection] id=${ETHNAME2} @@ -922,7 +952,7 @@ set_yum_centos_stream_8(){ else sed -i -e 's|^baseurl=https://'${OLD_MIRROR}'|baseurl=https://'${MIRROR}'|g' /etc/yum.repos.d/CentOS-*.repo fi - ${COLOR}"更新镜像源中,请稍等..。。。."${END} + ${COLOR}"更新镜像源中,请稍等......"${END} dnf clean all &> /dev/null && dnf makecache &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,镜像源设置完成!"${END} } @@ -1716,7 +1746,12 @@ rocky_almalinux_centos_minimal_install(){ ubuntu_debian_minimal_install(){ ${COLOR}'开始安装“Minimal安装建议安装软件包”,请稍等......'${END} - apt install -y iproute2 ntpdate tcpdump telnet traceroute lrzsz tree iotop unzip zip + apt install -y iproute2 tcpdump telnet traceroute lrzsz tree iotop unzip zip + if [ ${MAIN_NAME} == "Ubuntu" ];then + apt install -y ntpdate + else + apt install -y ntpsec-ntpdate vim + fi ${COLOR}"${PRETTY_NAME}操作系统,Minimal安装建议安装软件包已安装完成!"${END} } @@ -1730,9 +1765,9 @@ minimal_install(){ disable_firewalls(){ if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then - rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END} + rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务,不要设置!"${END} elif [ ${MAIN_NAME} == "Ubuntu" ];then - dpkg -s ufw &> /dev/null && { systemctl disable --now ufw &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,ufw防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统, 没有ufw防火墙服务,不用关闭!"${END} + dpkg -s ufw &> /dev/null && { systemctl disable --now ufw &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统,ufw防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统, 默认没有ufw防火墙服务,不用关闭!"${END} else ${COLOR}"${PRETTY_NAME}操作系统,没有安装防火墙服务,不用关闭!"${END} fi @@ -1753,17 +1788,15 @@ disable_selinux(){ } set_swap(){ - if grep -Eqi "noauto" /etc/fstab;then - ${COLOR}"${PRETTY_NAME}操作系统,swap已被禁用,不用设置!"${END} - else - if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then - sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab - else - sed -ri.bak '/swap/s/(.*)(sw)(.*)/\1\2,noauto\3/g' /etc/fstab - fi - swapoff -a - ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} + if [ ${MAIN_NAME} == "CentOS" -a ${MAIN_VERSION_ID} == 7 ];then + sed -ri.bak 's/.*swap.*/#&/' /etc/fstab + elif [ ${MAIN_NAME} == "Ubuntu" -a ${MAIN_VERSION_ID} == 18 ];then + sed -ri.bak 's/.*swap.*/#&/' /etc/fstab + else + systemctl mask swap.target &> /dev/null fi + swapoff -a + ${COLOR}"${PRETTY_NAME}操作系统,禁用swap已设置成功,请重启系统后生效!"${END} } set_localtime(){ @@ -1896,12 +1929,12 @@ optimization_ssh(){ else sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^#(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config fi - if [ ${MAIN_NAME} == "ubuntu" ];then + if [ ${MAIN_NAME} == "Ubuntu" ];then if [ ${MAIN_VERSION_ID} == 24 ];then - systemctl restart ssh - fi + sudo systemctl restart ssh + fi else - systemctl restart sshd + sudo systemctl restart sshd fi ${COLOR}"${PRETTY_NAME}操作系统,SSH已优化完成!"${END} } @@ -1911,12 +1944,12 @@ set_ssh_port(){ disable_firewalls read -p "请输入端口号: " PORT sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config - if [ ${MAIN_NAME} == "ubuntu" ];then + if [ ${MAIN_NAME} == "Ubuntu" ];then if [ ${MAIN_VERSION_ID} == 24 ];then - systemctl restart ssh - fi + sudo systemctl restart ssh + fi else - systemctl restart sshd + sudo systemctl restart sshd fi ${COLOR}"${PRETTY_NAME}操作系统,更改SSH端口号已完成,请重新登陆后生效!"${END} } @@ -1970,6 +2003,19 @@ set_ubuntu_alias(){ alias cdnet="cd /etc/netplan" alias cdapt="cd /etc/apt" EOF + if [ ${MAIN_VERSION_ID} == 18 ];then + cat >>~/.bashrc <<-EOF +alias vie="vim /etc/netplan/01-netcfg.yaml" +EOF + elif [ ${MAIN_VERSION_ID} == 20 ];then + cat >>~/.bashrc <<-EOF +alias vie="vim /etc/netplan/00-installer-config.yaml" +EOF + else + cat >>~/.bashrc <<-EOF +alias vie="vim /etc/netplan/50-cloud-init.yaml" +EOF + fi ${COLOR}"${PRETTY_NAME}操作系统,系统别名已设置成功,请重新登陆后生效!"${END} } @@ -1977,6 +2023,7 @@ set_debian_alias(){ cat >>~/.bashrc <<-EOF alias cdnet="cd /etc/network" alias cdapt="cd /etc/apt" +alias vie="vim /etc/network/interfaces" EOF ${COLOR}"${PRETTY_NAME}操作系统,系统别名已设置成功,请重新登陆后生效!"${END} } @@ -1990,15 +2037,15 @@ set_alias(){ set_rocky_almalinux_centos_alias fi elif [ ${MAIN_NAME} == "Ubuntu" ];then - if grep -Eqi "(.*cdnet|.*cdapt)" ~/.bashrc;then - sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' ~/.bashrc + if grep -Eqi "(.*cdnet|.*cdapt|.*vie)" ~/.bashrc;then + sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' -e '/.*vie/d' ~/.bashrc set_ubuntu_alias else set_ubuntu_alias fi else - if grep -Eqi "(.*cdnet|.*cdapt)" ~/.bashrc;then - sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' ~/.bashrc + if grep -Eqi "(.*cdnet|.*cdapt|.*vie)" ~/.bashrc;then + sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' -e '/.*vie/d' ~/.bashrc set_debian_alias else set_debian_alias @@ -2209,35 +2256,14 @@ set_history_env(){ disable_restart(){ START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'` if [ ${START_STATUS} == "enabled" ];then - systemctl disable ctrl-alt-del.target + systemctl disable ctrl-alt-del.target &> /dev/null fi - systemctl mask ctrl-alt-del.target + systemctl mask ctrl-alt-del.target &> /dev/null ${COLOR}"${PRETTY_NAME}操作系统,禁用ctrl+alt+del重启功能设置成功!"${END} } -set_ubuntu_debian_root_login(){ - if [ ${MAIN_NAME} == "Ubuntu" -o ${MAIN_NAME} == "Debian" ];then - read -p "请输入密码: " PASSWORD - echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config - if [ ${NAME} == "Ubuntu" ];then - if [ ${MAIN_VERSION_ID} == 24 ];then - sudo systemctl restart ssh - fi - else - sudo systemctl restart sshd - fi - sudo -S passwd root <<-EOF -${PASSWORD} -${PASSWORD} -EOF - ${COLOR}"${PRETTY_NAME}操作系统,root用户登录已设置完成,请重新登录后生效!"${END} - else - ${COLOR}"${PRETTY_NAME}操作系统,系统不可用!"${END} - fi -} - ubuntu_remove(){ - if [ ${MAIN_NAME}} == "Ubuntu" ];then + if [ ${MAIN_NAME} == "Ubuntu" ];then if [ ${MAIN_VERSION_ID} == 18 ];then apt -y purge ufw lxd lxd-client lxcfs liblxc-common else @@ -2250,28 +2276,29 @@ ubuntu_remove(){ } ubuntu_20_22_24_remove_snap(){ - dpkg -s snapd &> /dev/null - if [ $? -eq 1 ];then - ${COLOR}"${PRETTY_NAME}操作系统,snap已卸载!"${END} - else - systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service - sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) - while [ $sum -ne 0 ];do - for p in $(snap list | awk 'NR>=2{print $1}'); do - snap remove --purge $p - done + dpkg -s snapd &> /dev/null || { ${COLOR}"snap已卸载!"${END};exit; } + systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service + if [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then + snap remove --purge lxd sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) - done - apt -y autoremove --purge snapd - rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd - cat > /etc/apt/preferences.d/no-snapd.pref << EOF + while [ $sum -ne 0 ];do + for p in $(snap list | awk 'NR>=2{print $1}'); do + snap remove --purge $p + done + sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) + done + fi + fi + apt -y autoremove --purge snapd + rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd + cat > /etc/apt/preferences.d/no-snapd.pref << EOF Package: snapd Pin: release a=* Pin-Priority: -10 EOF - apt update - ${COLOR}"${PRETTY_NAME}操作系统,snap卸载完成!"${END} - fi + apt update + ${COLOR}"${PRETTY_NAME}操作系统,snap卸载完成!"${END} } ubuntu_remove_snap(){ @@ -2290,101 +2317,201 @@ menu(){ while true;do echo -e "\E[$[RANDOM%7+31];1m" cat <<-EOF -***************************************************************** -* 系统初始化脚本菜单 * -* 1.修改网卡名 14.设置系统别名 * -* 2.设置网络 15.设置vimrc配置文件 * -* 3.设置主机名 16.安装邮件服务并配置邮件 * -* 4.设置镜像仓库 17.设置PS1(请进入选择颜色) * -* 5.Minimal安装建议安装软件 18.设置默认文本编辑器为vim * -* 6.关闭防火墙 19.设置history格式 * -* 7.禁用SELinux 20.禁用ctrl+alt+del重启系统功能 * -* 8.禁用SWAP 21.Ubuntu和Debian设置root用户登录 * -* 9.设置系统时区 22.Ubuntu卸载无用软件包 * -* 10.优化资源限制参数 23.Ubuntu卸载snap * -* 11.优化内核参数 24.重启系统 * -* 12.优化SSH 25.关机 * -* 13.更改SSH端口号 26.退出 * -***************************************************************** +******************************************************** +* 系统初始化脚本菜单 * +* 1.设置root用户登录 14.更改SSH端口号 * +* 2.修改网卡名 15.设置系统别名 * +* 3.设置网络 16.设置vimrc配置文件 * +* 4.设置主机名 17.安装邮件服务并配置 * +* 5.设置镜像仓库 18.设置PS1(请进入选择颜色) * +* 6.建议安装软件 19.设置默认文本编辑器为vim * +* 7.关闭防火墙 20.设置history格式 * +* 8.禁用SELinux 21.禁用ctrl+alt+del重启系统功能 * +* 9.禁用SWAP 22.Ubuntu卸载无用软件包 * +* 10.设置系统时区 23.Ubuntu卸载snap * +* 11.优化资源限制参数 24.重启系统 * +* 12.优化内核参数 25.关机 * +* 13.优化SSH 26.退出 * +******************************************************** EOF echo -e '\E[0m' read -p "请选择相应的编号(1-26): " choice case ${choice} in 1) - set_eth + if [ ${LOGIN_USER} == "root" ];then + ${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END} + else + set_root_login + fi ;; 2) - set_network + if [ ${LOGIN_USER} == "root" ];then + set_eth + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 3) - set_hostname + if [ ${LOGIN_USER} == "root" ];then + set_network + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 4) - set_mirror_repository + if [ ${LOGIN_USER} == "root" ];then + set_hostname + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 5) - minimal_install + if [ ${LOGIN_USER} == "root" ];then + set_mirror_repository + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 6) - disable_firewalls + if [ ${LOGIN_USER} == "root" ];then + minimal_install + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 7) - disable_selinux + if [ ${LOGIN_USER} == "root" ];then + disable_firewalls + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 8) - set_swap + if [ ${LOGIN_USER} == "root" ];then + disable_selinux + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 9) - set_localtime + if [ ${LOGIN_USER} == "root" ];then + set_swap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 10) - set_limits + if [ ${LOGIN_USER} == "root" ];then + set_localtime + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 11) - set_kernel + if [ ${LOGIN_USER} == "root" ];then + set_limits + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 12) - optimization_ssh + if [ ${LOGIN_USER} == "root" ];then + set_kernel + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 13) - set_ssh_port + if [ ${LOGIN_USER} == "root" ];then + optimization_ssh + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 14) - set_alias + if [ ${LOGIN_USER} == "root" ];then + set_ssh_port + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 15) - set_vimrc + if [ ${LOGIN_USER} == "root" ];then + set_alias + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 16) - set_mail + if [ ${LOGIN_USER} == "root" ];then + set_vimrc + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 17) - set_ps1 + if [ ${LOGIN_USER} == "root" ];then + set_mail + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 18) - set_vim_env + if [ ${LOGIN_USER} == "root" ];then + set_ps1 + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 19) - set_history_env + if [ ${LOGIN_USER} == "root" ];then + set_vim_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 20) - disable_restart + if [ ${LOGIN_USER} == "root" ];then + set_history_env + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 21) - set_ubuntu_debian_root_login + if [ ${LOGIN_USER} == "root" ];then + disable_restart + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 22) - ubuntu_remove + if [ ${LOGIN_USER} == "root" ];then + ubuntu_remove + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 23) - ubuntu_remove_snap + if [ ${LOGIN_USER} == "root" ];then + ubuntu_remove_snap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此操作!"${END} + fi ;; 24) - sudo shutdown -r now + if [ ${LOGIN_USER} == "root" ];then + shutdown -r now + else + sudo shutdown -r now + fi ;; 25) - sudo shutdown -h now + if [ ${LOGIN_USER} == "root" ];then + shutdown -h now + else + sudo shutdown -h now + fi ;; 26) break @@ -2397,30 +2524,36 @@ EOF } main(){ - os - if [ ${MAIN_NAME} == "Rocky" ];then - if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then - menu - fi - elif [ ${MAIN_NAME} == "AlmaLinux" ];then - if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then - menu - fi - elif [ ${MAIN_NAME} == "CentOS" ];then - if [ ${MAIN_VERSION_ID} == 7 -o ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then - menu - fi - elif [ ${MAIN_NAME} == "Ubuntu" ];then - if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then - menu - fi - elif [ ${MAIN_NAME} == 'Debian' ];then - if [ ${MAIN_VERSION_ID} == 11 -o ${MAIN_VERSION_ID} == 12 -o ${MAIN_VERSION_ID} == 13 ];then - menu - fi + if [ ${LOGIN_USER} == "root" ];then + menu else - ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录!"${END} + menu fi } -main +os +if [ ${MAIN_NAME} == "Rocky" ];then + if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then + main + fi +elif [ ${MAIN_NAME} == "AlmaLinux" ];then + if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then + main + fi +elif [ ${MAIN_NAME} == "CentOS" ];then + if [ ${MAIN_VERSION_ID} == 7 -o ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then + main + fi +elif [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then + main + fi +elif [ ${MAIN_NAME} == 'Debian' ];then + if [ ${MAIN_VERSION_ID} == 11 -o ${MAIN_VERSION_ID} == 12 -o ${MAIN_VERSION_ID} == 13 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi + diff --git a/ubuntu remove snap/remove_snap.sh b/ubuntu remove snap/remove_snap.sh index 0614414..bc6dc10 100644 --- a/ubuntu remove snap/remove_snap.sh +++ b/ubuntu remove snap/remove_snap.sh @@ -1,43 +1,69 @@ #!/bin/bash # -#*************************************************************************************************** +#********************************************************************************** #Author: Raymond #QQ: 88563128 -#Date: 2024-05-06 +#MP: Raymond运维 +#Date: 2025-10-19 #FileName: remove_snap.sh -#MIRROR: raymond.blog.csdn.net -#Description: remove_snap for Ubuntu 20.04/22.04 -#Copyright (C): 2024 All rights reserved -#*************************************************************************************************** +#URL: https://wx.zsxq.com/group/15555885545422 +#Description: The remove snap script supports +# "Ubuntu Server 20.04, 22.04 and 24.04 LTS" operating systems. +#Copyright (C): 2025 All rights reserved +#********************************************************************************** COLOR="echo -e \\033[01;31m" END='\033[0m' +LOGIN_USER=`whoami` + +os(){ + . /etc/os-release + MAIN_NAME=`sed -rn '/^NAME=/s@.*="([[:alpha:]]+).*"$@\1@p' /etc/os-release` + if [ ${MAIN_NAME} == "Kylin" ];then + MAIN_VERSION_ID=`sed -rn '/^VERSION_ID=/s@.*="([[:alpha:]]+)(.*)"$@\2@p' /etc/os-release` + else + MAIN_VERSION_ID=`sed -rn '/^VERSION_ID=/s@.*="?([0-9]+)\.?.*"?@\1@p' /etc/os-release` + fi +} ubuntu_remove_snap(){ dpkg -s snapd &> /dev/null || { ${COLOR}"snap已卸载!"${END};exit; } systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service - - sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) - while [ $sum -ne 0 ];do - for p in $(snap list | awk 'NR>=2{print $1}'); do - snap remove --purge $p - done - sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) - done - + if [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then + snap remove --purge lxd + sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) + while [ $sum -ne 0 ];do + for p in $(snap list | awk 'NR>=2{print $1}'); do + snap remove --purge $p + done + sum=$(snap list | awk 'NR>=2{print $1}' | wc -l) + done + fi + fi apt -y autoremove --purge snapd - rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd - cat > /etc/apt/preferences.d/no-snapd.pref << EOF Package: snapd Pin: release a=* Pin-Priority: -10 EOF apt update + ${COLOR}"${PRETTY_NAME}操作系统,snap卸载完成!"${END} } main(){ - ubuntu_remove_snap + if [ ${LOGIN_USER} == "root" ];then + ubuntu_remove_snap + else + ${COLOR}"当然登录用户是${LOGIN_USER},请使用root用户登录或设置root用户登录后再执行此脚本!"${END} + fi } -main \ No newline at end of file +os +if [ ${MAIN_NAME} == "Ubuntu" ];then + if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then + main + fi +else + ${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END} +fi