Skip to content

Latest commit

 

History

History
121 lines (80 loc) · 5.63 KB

init.md

File metadata and controls

121 lines (80 loc) · 5.63 KB

init System

此脚本用于刚安装的ubuntu18.04/20.04系统初始化配置,涉及系统基础优化、性能优化、安全优化等

内容列表

重点提示

该初始化脚步,在系统安装完毕后,未部署任何服务情况下,即刻执行为好

更新DNS

更新系统DNS,为8.8.8.8114.114.114.114,用户可自动替换为国内其他DNS,如阿里云公共DNS223.5.5.5223.6.6.6

修改DNS的好处:

  1. 适当提高上网速度;
  2. 更换DNS可以访问某些因为域名解析存在问题而不能访问的网站;
  3. 可以屏蔽运营商的广告,还可以帮助您避免被钓鱼的危险;

更新APT国内源

更新国内源,脚步默认涵盖了阿里云ubuntu18ubuntu20更新源,会根据系统版本,自动更新源地址

更新稳定版内核

当刚完成系统后,发现内核不是最新版稳定内核(ubuntu18.04当前对应最新稳定版内核为5.4.0-84, ubuntu20.04当前对应最新稳定版内核为5.8.0-63),可以执行该脚步对应的方法,脚步会自动识别系统版本,来更新对应的最新稳定版内核,更新内核涉及机器重启步骤,详细请看脚步,更新内核步骤会存在一定风险,如无法进入系统(引导菜单缺失导致),但经过多次测试,暂未发现无法进入系统情况

优化ssh配置

  1. 修改默认ssh端口号
  2. 禁止root用户登陆,防止权限过大
  3. 禁止空密码登陆
  4. 禁用DNS,优化ssh连接慢
  5. 禁用GSSAPI认证,优化ssh连接慢
  6. 关闭首次ssh远程需输入yes的提示
  7. 锁定登陆失败次数的帐号,脚本默认:普通用户失败6次锁定30s时间,root用户失败6次后锁定100s时间

关闭防火墙(不可后期运行)

只能在系统安装完,即刻执行该函数,否则后期部署了程序再次执行,会清理docker程序对应的iptables后期执行,用户可注销脚本后面对应的该使用方法

  1. 清理iptables链表
  2. 关闭firewall服务
  3. 关闭ufw服务

更新系统同步时间

默认使用国内阿里云同步时间地址ntp1.aliyun.com,以保证时间一致性

优化系统文件数

系统默认最大文件数为1024,脚本默认为1048576

配置安全审计日志

开启auditd服务,即时控制审计守护进程的行为的工具,可自行添加规则,来记录系统安全行为

配置历史命令记录

优化历史命令记录,保存用户的历史命令,根据当前用户名和ip地址进行分类存放,目录/usr/share/.history

替换rm命令

替换rm -r|rfmv 对应的命令,使用rm删除文件,会保存到当前用户家目录下的$HOME/.trash/,防止因为意外情况误删除文件,可以再次找回文件; 当要真正删除某个文件时,请谨慎使用\rm 来实现文件的真正销毁与删除

禁用系统自动更新

禁用系统自动更新,内核更新等,避免sgx驱动出现异常,导致pruntime程序无法启动

配置nvm管理多版本node

nvm 是一个开源的管理多版本node程序的版本管理工具,phala程序使用js编写,需要依赖node(此node不是phala-node,请区别对待),根据phala官方的更新情况,适当使用nvm调整和安装不同的node版本,来适应phala的程序,方便来回切换多个node版本,脚本默认使用的node版本为v16.7.0

优化docker配置

脚本内,默认注销了使用国内阿里云docker更新源,否则会导致phala的程序,无法拉取dockerhub中最新的phala程序镜像,同时配置了docker使用的DNS地址,以及docker容器的日志文件限制(默认脚本使用json格式,仅保留最新的5份日志文件,每个日志文件限制100m大小,以节省系统盘空间)

配置内存定期自动清理

ReleaseMemory 脚本

配合定时任务执行

# 定时清理内存
0 */3 * * * bash /opt/ReleaseMemory.sh

配置静态IP

默认配置系统当前获取的ip地址,到系统网络配置文件

配置hostname

  1. 示例hostname名: companyname—khala-group1-ip后缀,如机器ip为 192.168.2.100: wantpool-phala-group1-2-100
  2. 当你ssh多个机器时,配置一个好hostname,可以明眼的区别ssh远程的机器,避免执行命令出现意外
  3. 该函数,需要用户修改config_hostname函数中companygroup_num变量

清理docker程序和竟像以及phala程序

可不执行,注释即可

更新内核参数

可不执行,注释即可,仅供参考