linux系统优化(CentOS7)
1.概览
CentOS系统安装之后并不能⽴即投⼊⽣产环境使⽤,往往需要先经过我们运维⼈员的优化才⾏。在此写⼏点关于Linux系统安装后的基础优化操作。
注意:本次优化都是基于CentOS(7.7)
2.优化⽬录
配置yum源并安装基础软件
修改主机地址,主机名dns等信息
修改默认的端⼝,禁⽌root⽤户登录
编辑sudo,以普通⽤户管理
关闭selinux
配置时间同步
锁定系统关键⽂件,防⽌提权篡改
为Grub菜单增加密码
调整⽂件描述符数量,进程及⽂件打开都会消耗⽂件描述符
精简并保留必要的开机⾃启动服务
linux内核优化/f
a.安装常⽤软件
例如: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 /f #修改DNS信息
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost ~]# cat /f #查看修改后的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) ALLcentos vim命令
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/p.org >/dev/null 2>&1' >>/var/spool/cron/root [root@test ~]# crontab -l
#time sync by dxy
*/5 * * * * /usr/sbin/p.org >/dev/null2>&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/f 这个⽂件
echo '* - nofile 65535 ' >>/etc/f
tail -1 /etc/f
#查看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 √
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论