此文章是关于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
比如 网易的镜像网站http://mirrors.163.com/.help/centos.html
点击链接,保存下来,然后上传到centos7中,到/etc/yum.repos.d目录下
然后再清除一下缓存,再生成缓存
用yum repolist 查看yum源软件仓库,发现前后是不一样的。
更改yum源完成
使用命令: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
1、更改SSH服务的默认端口号
Port 52201
2、禁止root用户远程登录
PermitRootLogin no
3、关闭DNS解析
UseDNS no
4、关闭GSS认证
GSSAPIAuthentication no
(六)添加普通用户并进行sudo授权管理
可以用非root用户,如果没有,可以创建一个啰
创建用户 -- useradd wxy
添加密码 -- passwd wxy
输入密码 -- (*****)
确认密码 -- (*****)
使用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