linux系统优化(CentOS7)

1.概览

CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行。在此写几点关于Linux系统安装后的基础优化操作。

注意:本次优化都是基于CentOS(7.7)

2.优化目录

配置yum源并安装基础软件
修改主机地址,主机名dns等信息
修改默认的端口,禁止root用户登录 编辑sudo,以普通用户管理
关闭selinux
配置时间同步 锁定系统关键文件,防止提权篡改 为Grub菜单增加密码 调整文件描述符数量,进程及文件打开都会消耗文件描述符 精简并保留必要的开机自启动服务 linux内核优化/etc/sysctl.conf

a.安装常用软件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#PS:yum repolist 列出yum源信息;把yum源换为阿里的源,当然也可以换成清华或者是别的源

例如:wget vim lrzsz bash-completion telnet nmap等等

yum -y install wget vim lrzsz bash-completion telnet nmap

b.修改主机地址,主机名dns等信息

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0                     #网卡名字
BOOTPROTO=static               #静态IP地址获取状态 如:DHCP表示自动获取IP地址
IPADDR=172.16.1.113           #IP地址
NETMASK=255.255.255.0         #子网掩码
ONBOOT=yes                      #引导时是否激活
GATEWAY=172.16.1.1

[root@localhost ~]# vim /etc/hostname  
test              #这个是主机名
我们也可以用  hostnamectl set-hostname test  来永久修改主机名,重新登录生效

修改DNS [root@localhost ~]# vi /etc/resolv.conf   #修改DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@localhost ~]# cat /etc/resolv.conf    #查看修改后的DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@localhost ~]# systemctl restart network #重启网卡,生效 重启网卡,也可以用下面的命令 [root@localhost ~]# /etc/init.d/network restart

c.修改默认的端口

默认ssh配置文件是/etc/ssh/sshd_config 
大约在17行左右,有一个参数port  22,默认是注释的,我们打开注释,把22修改为别的端口即可
注意:端口不要冲突,先备份。
[root@test ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[root@test ~]# vim /etc/ssh/sshd_config
Port 22022          #ssh连接默认的端口
PermitRootLogin no       #root用户黑客都知道,禁止它远程登录
PermitEmptyPasswords no    #禁止空密码登录
UseDNS no                #不使用DNS
[root@test ~]# /etc/init.d/sshd reload    #从新加载配置
[root@test ~]# netstat -lnt     #查看端口信息
[root@test ~]# lsof -i tcp:22022

d.编辑sudo,以普通用户管理

[root@test ~]# useradd test
[root@test ~]# echo "123456"|passwd --stdin test
[root@test ~]# visudo
在root    ALL=(ALL)    ALL此行下,添加如下内容
test    ALL=(ALL)    ALL

e.关闭selinux

#临时关闭和查看
[root@test ~]# setenforce 0
[root@test ~]# getenforce 
Disabled
#永久关闭
把selinux的值修改为disabled即可
[root@test ~]# cat /etc/selinux/config 
SELINUX=disabled

f.配置时间同步

#设置每5分钟同步一次
[root@test ~]# echo '#time sync by dxy' >>/var/spool/cron/root [root@test ~]# echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root [root@test ~]# crontab -l #time sync by dxy */5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

g.锁定系统关键文件,防止提权篡改

[root@test ~]# chattr +i /etc/passwd
[root@test ~]# chattr +i /etc/inittab
[root@test ~]# chattr +i /etc/group
[root@test ~]# chattr +i /etc/shadow
[root@test ~]# chattr +i /etc/gshadow

h.为Grub菜单增加密码

在RHEL 7.2和Centos 7(及更高版本)上,GRUB 2使用grub2-setpassword命令提供密码保护。
[root@test ~]# grub2-setpassword
Enter password:
Confirm password:
这个过程创建了一个/boot/grub2/user.cfg配置文件,其中包含已经加密的密码。这个密码的用户是root,在/boot/grub2/grub.cfg文件中已经定义了。通过此更改,在引导期间修改引导条目需要指定root用户名和密码。

j.调整文件描述符数量,进程及文件打开都会消耗文件描述符

#修改编辑/etc/security/limits.conf 这个文件
echo '*               -       nofile          65535 ' >>/etc/security/limits.conf 
tail -1 /etc/security/limits.conf 
#查看ulimit
ulimit  -n

k.精简并保留必要的开机自启动服务

服务                          状态          是否保留          描述
abrt-ccpp.service enabled          x abrt-oops.service enabled          x abrt-vmcore.service enabled         x abrt-xorg.service enabled          x abrtd.service enabled          x            调试相关的服务 auditd.service enabled          x            一次性任务服务 autovt@.service enabled          √            登录相关 crond.service enabled          √            定时任务相关 getty@.service enabled         √            tty窗口 irqbalance.service enabled          √            多核cpu调度 kdump.service enabled          x            内核出现问题dump信息保存 microcode.service enabled          x            inter的cpu会提供一个外挂的微指令集提供系统运行 rsyslog.service enabled          √            日志服务 sshd.service enabled          √            ssh服务 systemd-readahead-collect.service enabled          √            系统服务 systemd-readahead-drop.service enabled          √            系统服务 systemd-readahead-replay.service enabled          √            系统服务 tuned.service enabled          √            服务器能耗管理 default.target enabled          √ multi-user.target enabled          √ remote-fs.target enabled          √ runlevel2.target enabled          √ runlevel3.target enabled          √ runlevel4.target enabled             √

 

上一篇:禁用sql tuning advisor功能


下一篇:yum安装MySQL指定版本