此脚本用于刚安装的ubuntu18.04/20.04系统初始化配置,涉及系统基础优化、性能优化、安全优化等
- 重点提示
- 更新DNS
- 更新APT国内源
- 更新稳定版内核
- 优化ssh配置
- 关闭防火墙
- 更新系统时间
- 优化系统文件数
- 配置安全审计日志
- 配置历史命令记录
- 替换rm命令
- 禁用系统自动更新
- 配置nvm管理多版本node
- 优化docker配置
- 配置内存定期自动清理
- 配置静态IP
- 配置hostname
- 更新内核参数
- 清理docker程序和竟像以及phala程序
该初始化脚步,在系统安装完毕后,未部署任何服务情况下,即刻执行为好
更新系统DNS,为8.8.8.8
和114.114.114.114
,用户可自动替换为国内其他DNS,如阿里云公共DNS223.5.5.5
和223.6.6.6
等
修改DNS的好处:
- 适当提高上网速度;
- 更换DNS可以访问某些因为域名解析存在问题而不能访问的网站;
- 可以屏蔽运营商的广告,还可以帮助您避免被钓鱼的危险;
更新国内源,脚步默认涵盖了阿里云ubuntu18
和ubuntu20
更新源,会根据系统版本,自动更新源地址
当刚完成系统后,发现内核不是最新版稳定内核(ubuntu18.04当前对应最新稳定版内核为5.4.0-84
, ubuntu20.04当前对应最新稳定版内核为5.8.0-63
),可以执行该脚步对应的方法,脚步会自动识别系统版本,来更新对应的最新稳定版内核,更新内核涉及机器重启步骤,详细请看脚步,更新内核步骤会存在一定风险,如无法进入系统(引导菜单缺失导致),但经过多次测试,暂未发现无法进入系统情况
- 修改默认ssh端口号
- 禁止root用户登陆,防止权限过大
- 禁止空密码登陆
- 禁用DNS,优化ssh连接慢
- 禁用
GSSAPI
认证,优化ssh连接慢 - 关闭首次ssh远程需输入yes的提示
- 锁定登陆失败次数的帐号,脚本默认:
普通用户
失败6
次锁定30s
时间,root
用户失败6
次后锁定100s
时间
只能在系统安装完,即刻执行该函数,否则后期部署了程序再次执行,会清理docker
程序对应的iptables
,后期执行,用户可注销脚本后面对应的该使用方法
- 清理
iptables
链表 - 关闭
firewall
服务 - 关闭
ufw
服务
默认使用国内阿里云同步时间地址ntp1.aliyun.com
,以保证时间一致性
系统默认最大文件数为1024
,脚本默认为1048576
开启auditd服务,即时控制审计守护进程的行为的工具,可自行添加规则,来记录系统安全行为
优化历史命令记录,保存用户的历史命令,根据当前用户名和ip地址进行分类存放,目录/usr/share/.history
替换rm -r|rf
为 mv
对应的命令,使用rm删除文件,会保存到当前用户家目录下的$HOME/.trash/
,防止因为意外情况误删除文件,可以再次找回文件; 当要真正删除某个文件时,请谨慎使用\rm
来实现文件的真正销毁与删除
禁用系统自动更新,内核更新等,避免sgx驱动出现异常,导致pruntime程序无法启动
nvm 是一个开源的管理多版本node程序的版本管理工具,phala程序使用js
编写,需要依赖node
(此node
不是phala-node
,请区别对待),根据phala官方的更新情况,适当使用nvm
调整和安装不同的node
版本,来适应phala
的程序,方便来回切换多个node
版本,脚本默认使用的node
版本为v16.7.0
脚本内,默认注销了使用国内阿里云docker
更新源,否则会导致phala
的程序,无法拉取dockerhub
中最新的phala
程序镜像,同时配置了docker
使用的DNS
地址,以及docker
容器的日志文件限制(默认脚本使用json
格式,仅保留最新的5
份日志文件,每个日志文件限制100m
大小,以节省系统盘空间)
配合定时任务执行
# 定时清理内存
0 */3 * * * bash /opt/ReleaseMemory.sh
默认配置系统当前获取的ip地址,到系统网络配置文件
- 示例
hostname
名:companyname—khala-group1-ip后缀
,如机器ip
为 192.168.2.100:wantpool-phala-group1-2-100
- 当你
ssh
多个机器时,配置一个好hostname
,可以明眼的区别ssh
远程的机器,避免执行命令出现意外 - 该函数,需要用户修改
config_hostname
函数中company
、group_num
变量
可不执行,注释即可
可不执行,注释即可,仅供参考