脚本介绍
一、脚本思维导图
二、脚本功能介绍
1、系统初始化配置
脚本名称:system_init.sh
功能:
a.备份初始软件源文件。
b.更换软件源为清华大学镜像源。
c.更新系统。
d.安装初始必备软件(sudo、curl、git、vim、wget、exim4、gnupg、apt-transport-https、ca-certificates、smartmontools)。
e.添加第一个创建的用户(ID:1000)至sudo组。
2、系统管理面板
2.1安装面板Cockpit
脚本名称:install_cockpit.sh
功能:
a.配置45Drives Repo安装脚本(用于安装Navigator、File Sharing、Identities组件)。
b. 安装Cockpit及其附属组件(Navigator、File Sharing、Identities组件)。
c. 配置Cockpit首页展示信息。
d.安装Tuned系统性能调优工具(设置高性能模式、低功耗模式等等)。
e.Cockpit调优,设置自动注销闲置,登陆界面公告,获取外网访问真实IP地址、设置登录屏幕的浏览器标题。
f.设置Cockpit接管网络配置(网络管理工具由network改为NetworkManager)。
2.2安装虚拟机组件
脚本名称:install_virtualization.sh
功能:
a.安装 cockpit-machines 组件(虚拟机组件)。
b.开启IP包转发功能(解决IP分配问题)。
2.3外网访问Cockpit
脚本名称:setup_cockpit_access.sh
功能:
a.设置Cockpit外网访问。
因Cockpit默认禁止内网IP以外地址访问,所以要想从内网以外地址访问,必须设置可信域名至/etc/cockpit/cockpit.conf配置文件中。
2.4删除外网访问配置
脚本名称:remove_cockpit_access.sh
功能:
a.删除Cockpit外网访问配置
3、邮件通知服务
3.1设置发送邮件账户
脚本名称:email_config.sh
功能:
a.实现通过exim4发送邮件通知。
需要提前准备好发送邮件的QQ邮箱账户和授权密码,强调一下,只能是QQ邮箱账户。
授权码获取帮助:https://service.mail.qq.com/detail/0/75
3.2用户登陆发送通知
脚本名称:login_notify.sh
功能:
a.实现系统用户登陆时发送告警通知,避免账户泄漏而未发现。这里需要设置一个接收通知的邮箱账户。
3.2取消用户登陆通知
脚本名称:cancel_login_notify.sh
功能:
a.取消接收用户登陆通知
4、系统安全防护
4.1配置基础安全防护
脚本名称:system_security.sh
功能:
a.限制非sudo组用户使用su命令切换到root的用户。
b.超时自动注销系统用户登陆状态。
c.记录所有用户的登录和操作日志。
4.2安装防火墙服务
脚本名称:install_firewalld.sh
功能:
a.安装firewalld防火墙服务。
4.3安装自动封锁服务
脚本名称:install_fail2ban.sh
功能:
a.安装Fail2ban防暴力攻击服务,3次错误密码登陆系统将被永久封锁IP。
b.设置一个邮箱账户接收被暴力攻击时告警通知。
c.设置防护Cockpit,默认只防护SSH服务。
5、Docker服务
5.1安装Docker
脚本名称:install_docker.sh
功能:
a.设置使用华为镜像源安装Docker
b.安装 docker-ce、ocker-compose-plugin等相关组件
c.添加第一个创建的用户(ID:1000)至docker组
5.2添加镜像地址
脚本名称:dockerhub_mirror.sh
功能:
a.添加Docker镜像加速地址,解决国内无法拉取镜像问题。
5.3安装容器应用
脚本名称:deploy-containers.sh
功能:
a.安装一些常用的docker容器应用。
dockge:一个docker容器管理工具,旨在简化管理多个 Docker Compose 文件的过程。
nginx-ui:简单易用的Nginx管理界面,可以实现SSL证书续签、反向代理等等功能。
portainer:一个轻量级的管理 UI ,可让你轻松管理Docker。此为官方英文原版。
portainer_zh-cn: portainer的中文版本,非官方。
scrutiny: 一款基于web端的硬盘状态查看与监控工具。
5.4备份与恢复
脚本名称:docker_backup_restore.sh
功能:
a.实现备份docker,备份的文件有/var/lib/docker、/etc/docker和/opt/docker三个。
b.恢复已备份的docker文件。
6、安装服务查询
脚本名称:service_checker.sh
功能:
a.查询通过脚本安装的服务访问地址及端口。
99、一键配置HomeNAS
功能:
a.直接自动执行:系统初始配置、安装面板Cockpit、设置发送邮件账户、用户登录发送通知、配置基础安全防护、安装防火墙服务、安装自动封锁服务、安装Docker、添加镜像地址、安装容器应用、安装服务查询脚本。