关于Linux系列--总结centos7系统优化命令

此文章是关于centos7系统的优化配置,有关于此文章的不足,欢迎指出,共同成长,Thanks✌.ʕʘ‿ʘʔ.✌

会依以下16条内容进行说明

网络设置
配置使用互联网的Yum源和EPEL源
安装常用的系统工具
精简开机自启动服务
优化ssh服务进行相关配置
添加普通用户并进行sudo授权管理
禁用SeLinux
使用互联网的时间源同步系统时间
定时自动清理/tmp(临时目录)等目录中的不需要文件,防止inode节点被占满
锁定重要文件
调整文件描述符大小
调整字符集
去除系统及内核版本登录前的屏幕显示
禁止ping
内核参数优化
创建个人工作目录

(一)网络配置

主要是配置/etc/sysconfig/network-scripts/ifcfg-ens33此文件
输入命令: vi /etc/sysconfig/network-scripts/ifcfg-ens33
许多系统的网卡名称不一样,可以根据实际名称进行更改
可以依照下图进行修改
然后输入:systemctl restart network   重启服务生效 

有关修改此网卡的详细配置信息可以访问在下另一篇文章–>关于Linux系列–修改网络配置
在这里插入图片描述

(二)配置使用互联网的Yum源和EPEL源
yum源详细的讲解请访问 --> 关于Linux系列–如何基于互联网配置centos7的Yum源,构建软件仓库

切换到/etc/yum.repos.d目录下,会发现已经有了许多的配置文件
	CentOS-Base.repo 这个是联网后基础的源文件,访问速度比较慢
	CentOS-Debuginfo.repo和内核相关的更新和软件安装的文件
	CentOS-Media.repo 这个是使用光盘挂载后调用的文件
	CentOS-fasttrack.repo
	CentOS-CR.repo

在这里插入图片描述我们把原来的yum源更换为国内的yum源

比如 网易的镜像网站http://mirrors.163.com/.help/centos.html

点击链接,保存下来,然后上传到centos7中,到/etc/yum.repos.d目录下

在这里插入图片描述在这里插入图片描述

然后再清除一下缓存,再生成缓存

在这里插入图片描述

用yum repolist 查看yum源软件仓库,发现前后是不一样的。
更改yum源完成

在这里插入图片描述添加EPEL源

使用命令:yum -y install epel-release

然后就OK了,✌.|•͡˘‿•͡˘|.✌
在这里插入图片描述(三)安装常用的系统工具

可根据自己的需要进行下载
yum -y install tree lrzsz lsof sysstat nmap tcpdump wget vim curl telnet lftp iptraf-ng iftop
tree  查看目录树的结构
lrzsz  文件传输
rz  接收文件
sz  发送文件
wget 文件下载
telnet  远程登录
lftp ftp客户端工具
iptraf-ng 和 iftop 网络流量查看工具
等等。。。

在这里插入图片描述
(四) 精简开机自启动服务

可以根据自己的情况进行一些开机优化设置
	
systemctl is-enabled firewalld.service   #查询防火墙是否开机自启动
systemctl is-enabled sshd.service #查询ssh服务是否开机启动
systemctl enable *.service #开机运行某一项服务
systemctl disable *.service #取消开机运行某一项服务
systemctl start *.service #启动某一项服务
systemctl stop *.service #停止某一项服务
systemctl restart *.service #重启某一项服务
systemctl reload *.service #重新加载某一项服务配置文件
systemctl status *.service #查询某一项服务运行状态
systemctl is-active *.service #查询某一项服务是否活动
systemctl --failed #显示所有启动失败的服务
systemctl list-unit-files#查看全部已安装的服务

(五) 优化ssh服务进行相关配置
为了可以安全快速的连接,开心愉快的使用ssh服务,需要对此配置文件进行以下修改

编辑	/etc/ssh/sshd_config

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190329175400290.png

1、更改SSH服务的默认端口号 
	Port 52201

在这里插入图片描述

2、禁止root用户远程登录
	PermitRootLogin no

在这里插入图片描述

3、关闭DNS解析
	UseDNS no

在这里插入图片描述

4、关闭GSS认证
	GSSAPIAuthentication no	

在这里插入图片描述
(六)添加普通用户并进行sudo授权管理

可以用非root用户,如果没有,可以创建一个啰

创建用户	 -- 	useradd wxy
添加密码  --		passwd wxy 
输入密码	 --	 	(*****)
确认密码	--		(*****)

在这里插入图片描述使用提权工具:sudo

使用sudo为用户进行授权

以指定的用户身份执行相关的指令

授权配置文件
/etc/sudoers
编辑推荐使用visudo(因为有语法检查的嘛)
有时,可能需要加-f 才能使用此命令
visudo -f /etc/sudoers

授权格式

root 	ALL=(ALL) 	ALL
授权用户  主机=(以什么用户身份,若未指定,默认为root用户) 命令列表

在这里插入图片描述
其实上图中最后一个命令列表ALL可以指定特定命令,这样授权的用户就只有执行这些命令的特权

喃,最后查看一下:会发现可以运行的命令是所有ALL。
在这里插入图片描述(七)禁用SeLinux

SeLinux是Linux基于内核的安全机制

查询当前SeLinux的状态

[root@krystal ~]# getenforce 
默认是被强制启用的
enforcing:强制模式,默认此状态
permissive:宽容模式,违反SeLinux的安全策略行为,不被阻止,但会记录到日志中
disabled:关闭模式,SELinux 并没有实际运作

配置文件:/etc/selinux/config
方法一:直接编辑文件

vi /etc/selinux/config

方法二:用sed命令替换

sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config

(八)使用互联网的时间源同步系统时间

工具:ntpdate
软件包:ntpdate
yum -y install ntpdate 
手动同步	--	ntpdate time1.aliyun.com
自动同步	-- 	配合计划任务(crontab)去同步互联网的时间源
每隔90分钟同步一次
方法一:
编辑一下:crontab -e
*/30 */1 * * *  /sbin/ntpdate time1.aliyun.com
查看任务计划:crontab -l  
方法二:
echo "*/30 */1 * * * /sbin/ntpdate time1.aliyun.com" >> /var/spool/cron/root

到时间时,会自动同步,然后给你发送一封邮件:
在这里插入图片描述

会显示这样的内容,显示与时间服务器同步的信息
在这里插入图片描述(九)定时自动清理/tmp(临时目录)等目录中的不需要文件,防止inode节点被占满

找到30天之前创建的文件,然后执行删除,并把正确输出和错误输出都不可见

find /tmp -type f -mtime +30 | xargs rm -rf >/dev/null 2>&1

配合任务计划使用,事半功倍

echo "find /tmp -type f -mtime +30 | xargs rm -rf >/dev/null 2>&1" >> /var/spool/cron/root

在这里插入图片描述(十)锁定重要文件

系统中比较重要的文件

账号文件 /etc/passwd
密码文件 /etc/shadow
组的账号文件 /etc/group

更改文件的特殊属性 chattr
i —锁住文件的节点,文件只能读,不可修改

chattr +i /etc/passwd  

查看文件的特殊属性

lsattr  /etc/passwd  

这里可以做一个小小的实验,往系统里面添加一个用户,会发现是不能添加的
在这里插入图片描述
如果想要去除i节点,就是

chattr -i /etc/passwd

(十一)调整文件描述符大小

临时修改

ulimit -SHn 65535

永久修改

配置文件/etc/security/limits.conf
vi /etc/security/limits.conf
格式是这样滴:

 *        -       nofile         65535  

用户    软硬限制 	  文件描述符	      数量

在这里插入图片描述
(十二)调整字符集
查看支持的语言环境变量

locale -a  

显示当前系统的语言环境变量

echo $LANG 

语言环境变量配置文件

vi /etc/locale.conf
可以进行修改,根据自己的喜好随意改变语言环境  

在这里插入图片描述

wc -l 是为了统计一下有多少个支持的语言环境变量,可以不用加上的,会看到每一个语言环境变量

(十三)去除系统及内核版本登录前的屏幕显示
本地系统登录时显示的内容存放文件

/etc/issue

网络登录时显示的内容存放文件

/etc/issue.net

如果想要快速清除这里面的内容

> /etc/issue
> /etc/issue.net

在这里插入图片描述
再重新登录时,系统及内核版本的提示信息就没有了
(十四)禁止ping

内核参数配置文件

/etc/sysctl.conf  

在内核参数配置文件修改配置

echo "net.ipv4.icmp_echo_ignore_all=1"  >>  /etc/sysctl.conf

使其修改生效

sysctl -p  

就会达到不能ping的效果了

在这里插入图片描述
(十五)内核参数优化
在 /etc/sysctl.conf里面添加一下内容:

net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_syncookies = 1  #抵御SYN Flood能力
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range = 32768   60999
net.ipv4.tcp_max_syn_backlog = 8182
net.core.somaxconn = 1024
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_orphans = 2000

(十六)创建个人工作目录
有规划的使用,更合理化,能使工作更简洁,有条理,高效率

 mkdir  -p work/{app,doc,note,scripts} 
 tree -L 1 work/

在这里插入图片描述
ok,总的来说,就先这样编写了,以后有新内容了,会持续在里面添加的,欢迎各位朋友,提出宝贵的意见,在下会加强改进,不断学习,增强技能,thanks

猜你喜欢

转载自blog.csdn.net/zhaotiannuo_1998/article/details/88876386