linux---集群架构初探(3)基础优化
1.规范目录
2.配置所有主机域名解析
3.更改主机名
hostnamectl set-hostname 主机名
4.更新yum源
curl -s -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
注:epel(Extra Packages for Enterprise Linux)企业级linux额外软件包,是Fedora小组维护的一个软件项目,为RHEL/CentOS提供它们默认不提供的软件包。
5.安全优化
关闭SELinux
文件位置:/etc/selinux/config
关闭命令:setenforce 0
查看状态:getenforce
关闭防火墙
禁止自启:systemctl disable firewalld
关闭:systemctl stop firewalld
注:防火墙针对局域网进行关闭,连接外网的防火墙还是需要开启的。
6.精简开机启动程序
查看自启动程序:
我们只保留以下几项:sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance
7.提升普通用户权限(可选优化)
8.更改中文字符集
注:可使用locale命令查看是否已安装中文字符集,若没有,请先安装中文字符集。
也可以使用命令更改:localectl set-locale LANG="zh_CN.UTF-8"
9.设置时间同步
首先安装命令ntpdate :yum install ntpdate -y
ntpdate命令是直接将时间强制更改过来,对一些依赖时间的程序和服务会造成影响,一般建议使用ntpd服务,可以在开机时执行一次ntpdate命令。参考:
https://www.cnblogs.com/liushui-sky/p/9203657.html
https://blog.csdn.net/tuolaji8/article/details/79971591
10.提升命令行操作安全性(可选优化)
11.加大文件描述符
在linux中,一切皆文件,文件描述符是内核为了高效管理已被打开的文件所创建的索引,用于指向被打开的文件,所有执行I/O操作的系统调用都通过文件描述符;文件描述符是一个简单的非负整数,用以表明每个被进程打开的文件。程序刚刚启动时,第一个打开的文件是0,第二个是1,以此类推。也可以理解为文件的身份ID。
12.内核优化
注意修改前请备份
13.SSH远程连接优化
备份并修改SSH配置文件:
\cp /etc/ssh/sshd_config{,.ori}
sed -i -e "17s/.*/Port 52113/g" /etc/ssh/sshd_config #将服务端口更改为52113
sed -i -e "19s/.*/ListenAddress 172.16.1.41/g" /etc/ssh/sshd_config #修改ssh服务监听的ip地址,默认为0.0.0.0即全部监听,工作中我们先用VPN连接到内网,再从内网登录ssh,提高安全性
sed -i -e "38s/.*/PermitRootLogin no/g" /etc/ssh/sshd_config #禁止使用ssh使用root用户登录,提升安全性
sed -i -e "64s/.*/PermitEmptyPasswords no/g" /etc/ssh/sshd_config #禁止空密码用户使用ssh连接
注:以上使用sed替换方式修改,每个版本的行号可能有所不同,注意行号要正确。
14.修改yum配置文件
默认keepcache=0,代表yum安装完软件后自动清理软件包,这里改成1,代表不清理。
cachedir 定义保存yum软件包的默认路径,$basearch默认是命令uname -m的输出内容即32位还是64位,$releasever默认是系统的发行版本信息。
15.更新yum
yum update
16.为grub引导菜单加密码
防止入侵者利用grub重置root密码
17.禁止主机被ping
优化后关机拍摄快照
克隆服务器
分别克隆服务器web01、nfs01、backup,开机设置对应的ip和hostname
最小化原则
1.安装软件包最小化
2.用户权限最小化
3.目录文件权限最小化
4.自启动服务最小化
5.服务运行用户最小化(尽量不要用root)