一、设置以新内核启动系统
1、执行cat /boot/grub2/grub.cfg |grep menuentry命令查看当前操作系统有几个内核版本
2、查看系统当前的默认内核
grub2-editenv list
3、设置默认启动内核,
grub2-set-default 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)'
4、然后再次查看系统当前的默认内核
grub2-editenv list
5、然后重启机器
二、ulimit 系统进程资源限制配置
修改/etc/security/limits.conf文件,添加如下内容:(高性能计算场景下配置)
* soft memlock unlimited
* hard memlock unlimited
* soft stack unlimited
* hard stack unlimited
三、关闭selinux
运行如下命令修改/etc/selinux/config文件,关闭selinux
sed -i s/=enable/=disabled/g /etc/selinux/config
sed -i s/=enforcing/=disabled/g /etc/selinux/config
四、配置kdump
Kdump是一种有效的内存转储工具,启用Kdump后,生产内核将会保留一部分内存空间,用于在内核崩溃时通过Kexec快速启动到新的内核,这个过程不需要重启系统,因此可以转储崩溃的生产内核的内存镜像。
当系统内存崩溃时,生成的内存转存储文件有助于分析系统在崩溃前发生了什么,查找原因并修复错误,进而改进系统的稳定性。
查看Kdump是否安装,命令如下:
rpm –qa|grep “kexec-tools”
若未安装,则可以使用在安装光盘中kexec-tools的rpm包进行安装,命令如下:
rpm –ivh kexec-tools.xxx.rpm
若配置本地yum源,则可以使用如下命令进行安装:
yum install –y kexec-tools
指定转存储文件所使用内存的大小
修改/etc/default/grub文件,在GRUB_CMDLINE_LINUX行添加crashkernel=auto
执行以下命令,重新生成启动菜单:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统使配置生效
配置/etc/kdump.conf,取消以下三行的注释,并将default值改为reboot
#转存储文件路径 path /var/crash #此行设置保存内存镜像内容的级别,-c表示使用makedumpfile压缩数据,--message-level 1表示提示信息的级别(1表示只显示进度信息)-d 31表示不复制所有可以去掉的内存页(包括zero page, cache page, cache private, user data, free page等) core_collector makedumpfile -l --message-level 1 -d 31 #此行表示如果kdump转储内存镜像失败后的执行的动作,默认为挂载根文件系统并执行/sbin/init进程,可以更改为:reboot, halt, poweroff, shell等。 default reboot |
修改后/etc/kdump.conf文件内容如下:
启动kdump服务
systemctl start kdump
查看kdump服务运行状态
systemctl status kdump
设置Kdump开机自动启动
systemctl enable kdump
安装分析转存储文件所需的rpm包
查看系统内核版本
uname –r
安装与内核版本一致的kernel-debuginfo-common与kernel-debuginfo的rpm包
推荐网站:RPM Search
五、赋予普通用户执行特定权限sudo
sudo: switch user do something 可以让 某个user(WHO)以特定用户的身份权限(HOW),在什么机器上(Where),执行什么命令(What)
配置文件: /etc/sudoers
为保障语法的正确性,不建议vim直接编辑该配置文件;
编辑该配置文件使用visudo,visudo可以检查语法的正确性,相当于vi+sudo
如:
tony localhost=(root) ALL tony用户,可以在本地,以root身份运行所有命令
tony2 ALL=(root) /usr/sbin/useradd tony2可以在所有机器上,以root用户运行useradd命令
届时执行的时候,需要sudo + command执行
六、禁止用户通过ssh登录
6.1 限制指定用户通过指定IP SSH 登录
1.
只允许指定用户进行登录(白名单):
在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项,(配置完成需要重启 SSHD 服务)格式如下:
AllowUsers aliyun test@192.168.1.1
# 允许 aliyun 和从 192.168.1.1 登录的 test 帐户通过 SSH 登录系统。
2.
只拒绝指定用户进行登录(黑名单):
在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成需要重启SSHD服务)格式如下:
DenyUsers zhangsan aliyun #Linux系统账户
# 拒绝 zhangsan、aliyun 帐户通过 SSH 登录系统
或者
DenyUsers mayun@35.12.15.2
# 拒绝 mayun 帐户且IP为25.12.15.2 通过 SSH 登录系统
6.2 限制 IP SSH 登录
除了可以禁止某个用户登录,我们还可以针对固定的IP进行禁止登录,linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny这个两个文件,
hosts.allow许可大于hosts.deny可以限制或者允许某个或者某段IP地址远程 SSH 登录服务器.方法比较简单,具体如下:
1. vim /etc/hosts.allow, 添加
sshd:192.168.0.1:allow #允许 192.168.0.1 这个 IP 地址 ssh 登录
sshd:192.168.0.1/24:allow #允许 192.168.0.1/24 这段 IP 地址的用户登录
2.vim /etc/hosts.allow,添加
sshd:ALL # 允许全部的 ssh 登录
hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,按照此方法设置后服务器只允许 192.168.0.1 这个 IP 地址的 ssh 登录,其它的 IP 都会拒绝。
七、关于centos7 重启后,resolv.conf中文件内容丢失,被强制还原
第一种方法:NetworkManager 服务未关闭状态下,允许NetworkManager管理DNS,需要在网卡配置文件中设置NM_CONTROLLED=yes(设置为yes允许NetworkManage管理DNS) PEERDNS=no(设置为no时,可保证系统重启后,resolv.conf不被重写) 网卡配置文件写入DNS1=x.x.x.x DNS2=x.x.x.x,重启网络服务网卡配置文件中的DNS会自动同步到resolv.conf中
第二种方法:NetworkManager 服务关闭状态下,不允许NetworkManager管理DNS,需要在网卡配置文件中设置NM_CONTROLLED=no(设置为no不允许NetworkManage管理DNS) PEERDNS=no(设置为no时,可保证系统重启后,resolv.conf不被重写)在resolv.conf配置文件写入nameserver=x.x.x.x 有多个DNS的话,在nameserver前加入以下查询优化参数
Options rotate
Options timeout:1
Options attempts:2