Linux系统调优权威指南
1.关闭SELINUX功能
1.1 修改配置文件,使关闭SELINUX永久生效
sed 's#SELINUX=enforcing#SELINUX=disables#g' /etc/selinux/config ===>重启系统生效
1.2临时关闭SELINUX
[root@hadoop01 xningge]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
===>数字0表示Permissive 即警告提示,不会阻止操作,相当于disabled
===>数字1表示Enforcing 即SELINUX开启状态
[root@hadoop01 xningge]# setenforce 0 ====>临时将SELINUX修改成Permissive状态
[root@hadoop01 xningge]# getenforce ===>查看SELINUX当前状态
Permissive
2.设定运行级别
Linux下的7个运行级别:
0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
2:多用户状态,没有NFS支持。
3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。
4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5:X11控制台,登陆后进入图形GUI模式,XWindow系统。
6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。
2.1
[root@hadoop01 xningge]# grep 5:initdefault /etc/inittab ===>系统默认运行级别
id:5:initdefault:
[root@hadoop01 xningge]# runlevel ===>查看运行级别
N 5
[root@hadoop01 xningge]# init 3 ===> 设置运行级别
3.关闭iptables防火墙
1.
[root@hadoop01 xningge]# /etc/init.d/iptables stop ===>临时关闭防火墙
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@hadoop01 xningge]# chkconfig iptables off ===》关闭开机自启动命令
4.sudo 控制用户对系统命令的使用权限
4.1第一步 visudo ===》相当于vi /etc/sudoers
4.2第二步 xningge ALL=(ALL) NOPASSWD:ALL ===>大约在98行
4.3第三步查看是否修改成功
[xningge@hadoop01 ~]$ sudo grep xningge /etc/sudoers
xningge ALL=(ALL) NOPASSWD:ALL
4.4 查看当前用户被授予的sudo权限命令集合
[xningge@hadoop01 ~]$ sudo -l
5.Linux中文显示设置
5.1查看Linux当前使用语言
[root@hadoop01 ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
5.2设置成中文语言
[root@hadoop01 ~]# sudo echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
[root@hadoop01 ~]# source /etc/sysconfig/i18n ===》 使修改文件生效
[root@hadoop01 ~]# echo $LANG ===》查看当前使用语言 相当于
zh_CN.UTF-8
6.设置Linux服务器时间同步
6.1
[root@hadoop01 ~]# /usr/sbin/ntpdate ntp1.aliyun.com
24 Dec 21:45:17 ntpdate[31374]: step time server 182.92.12.11 offset -28774.000359 sec
6.2
[root@hadoop01 ~]# which ntpdate
/usr/sbin/ntpdate ===>注意这个目录,centos5为 /sbin
6.3利用定时任务每5分钟自动执行一次
[root@hadoop01 ~]# echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'>>/var/spool/cron/root
[root@hadoop01 ~]# crontab -l ===>这个命令其实就是写一个定时任务,相当于执行 crontab -e然后加入内容
#time sync by xningge at 2017-12-24
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
7.历史记录数及登录超时环境变量设置
7.1 设置闲置账号超时时间
[xningge@hadoop01 ~]$ export TMOUT=10 ===》设置连接会话的超时时间 临时有效
[xningge@hadoop01 ~]$ timed out waiting for input: auto-logout
7.2设置Linux的命令行历史记录数
[root@hadoop01 ~]# export HISTSIZE=5 ===》
[root@hadoop01 ~]# history
39 crontab -e
40 su - xingge
41 su - xningge
42 export HISTSIZE=5
43 history
7.3设置历史记录文件的命令的数量变量 (~/.bash_history)
[root@hadoop01 ~]# export HISTFILESIZE=5
[root@hadoop01 ~]# cat ~/.bash_history
which ls
which iptables
getenforce
cat /etc/selinux/config
export TMOUT=10
7.4使上述命令永久生效
[root@hadoop01 ~]# echo 'export TMOUT=300'>>/etc/profile
[root@hadoop01 ~]# echo 'export HISTSIZE=5'>>/etc/profile
[root@hadoop01 ~]# echo 'export HISTFILESIZE=5'>>/etc/profile
[root@hadoop01 ~]# tail -3 /etc/profile
export TMOUT=300
export HISTSIZE=5
export HISTFILESIZE=5
[root@hadoop01 ~]# source /etc/profile
7.5
TMOUT=300 ===》连接的超时时间控制变量
HISTSIZE=5 ===》命令行的历史记录数量变量
HISTFILESIZE=5 ===》历史记录文件的命令数量变量
8.调整Linux系统文件描述符数量
8.1查看Linux服务器文件描述符设置情况 默认大小是1024
[xningge@hadoop01 ~]$ ulimit -n
1024
8.2对于高并发业务Linux服务器来说,需要调整
[xningge@hadoop01 ~]$ vim /etc/security/limits.conf 在这个文件结尾加一句 (* - nofile 65535)
9. 定时清理邮件服务临时目录垃圾文件
9.1手动清理
[root@hadoop01 ~]# find /var/spool/postfix/maildrop/ -type f|xargs rm -f ===>适合centos 6 的Postfix服务
[root@hadoop01 ~]# find /var/spool/clientmqueue/ -type f|xargs rm -f ===>适合centos 5 的Sendmall服务
9.2定时清理
[root@hadoop01 ~]# mkdir -p /server/scripts
[root@hadoop01 ~]# echo "find /var/spool/postfix/maildrop/ -type f|xargs rm -f" >/server/scripts/del_file.sh
[root@hadoop01 ~]# cat /server/scripts/del_file.sh
find /var/spool/postfix/maildrop/ -type f|xargs rm -f
[root@hadoop01 ~]# echo "00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1" >> //var/spool/cron/root
[root@hadoop01 ~]# crontab -l
#time sync by xningge at 2017-12-24
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1
9.3查看磁盘inode 总量、剩余量、使用量
[root@hadoop01 ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1234576 122241 1112335 10% /
tmpfs 125514 6 125508 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot
10.隐藏Linux版本信息显示
10.1查看终端显示内容的实际存放文件
[root@hadoop01 ~]# cat /etc/issue
CentOS release 6.9 (Final)
Kernel \r on an \m
[root@hadoop01 ~]# cat /etc/issue.net
CentOS release 6.9 (Final)
Kernel \r on an \m
10.2清楚Linux系统版本及内核信息
[root@hadoop01 ~]# > /etc/issue
[root@hadoop01 ~]# cat /etc/issue
[root@hadoop01 ~]# > /etc/issue.net
[root@hadoop01 ~]# cat /etc/issue.net
[root@hadoop01 ~]#
11.锁定关键系统文件,防止被提权篡改
11.1上锁
[root@hadoop01 ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
11.2 解锁
[root@hadoop01 ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
12.3.防止黑客利用,chattr 转移
[root@hadoop01 ~]# mv /usr/bin/chattr /usr/bin/xningge1
[root@hadoop01 ~]# xningge1 +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
[root@hadoop01 ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
-bash: /usr/bin/chattr: 没有那个文件或目录
[root@hadoop01 ~]# xningge1 -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
[root@hadoop01 ~]# xningge1 +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
[root@hadoop01 ~]#
12.清除多余的系统虚拟账号
13.为grub菜单加密码
目的:防止他人修改grub进行内核等启动设置,以及用单用户模式启动进行破解root密码等操作
设定步骤:
(1)先利用/sbin/grub-md5-crypt 产生一个MD5密码串
[xningge@hadoop01 ~]$ /sbin/grub-md5-crypt
Password:
Retype password:
$1$X85We/$cdytOERYCKB.aPBqbL9ef.
(2)修改grub.conf文件
在splashimage和title之间加一行(password --md5 $1$X85We/$cdytOERYCKB.aPBqbL9ef.)
14. 禁止Linux系统被ping
14.1禁止命令为
[root@hadoop01 ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >>/etc/sysctl.conf
[root@hadoop01 ~]# tail -1 /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
14.2还原禁止ping操作
删除/etc/sysctl.conf 中的net.ipv4.icmp_echo_ignore_all=1 保存即可。
并执行如下命令
[root@hadoop01 ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
14.3因为禁止ping 我们测试连网情况就不可以了,做好的做法就是通过iptables 设置让特定的ip可以ping
iptables -t filter -I INPOT -p icmp --icmp-type 8 -i eth0 -s 10.0.0.0/24 -j ACCEPT
15.升级具有典型漏洞的软件版本
15.1查看相关软件的版本号
[root@hadoop01 ~]# rpm -qa openssl openssh bash
bash-4.1.2-48.el6.x86_64
openssh-5.3p1-122.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
15.2升级已知漏洞的软件版本到最新
[root@hadoop01 ~]# yum install openssl openssh bash -y
16.Linux服务器内核参数优化
17.Linux系统安全最小化原则说明
18.更改ssh服务器端远程登录的配置
19.精简开机系统自启动
19.1重要的开机自启动服务
1》sshd:远程连接Linux服务器时需要用到这个服务程序,所以必须要开启,否则Linux服务器就无法提供远程连接服务了。
2》rsyslog: 日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中。在centos 6 以前此服务的名字为syslog。
3》network:系统启动时,若想激活/关闭各个网络接口,则应考虑开启此服务。
4》crond:该服务用于周期性的执行系统及用户配置的任务计划,有要周期性的执行任务时,就要开启。
5》sysstat:是一个软件包,包含检测系统性能及效率的一组工具。这些工具对于我们收集系统性能数据很有帮助,比如CPU使用率、硬盘和网络吞吐数据等
sysstat软件包集成的主要工具为:
iostat:工具提供CPU使用率及硬盘吞吐效率的数据
mpstat:工具提供与单个或多个处理器相关的数据
sar:工具负责收集、报告并存储系统活跃的信息
19.2设置开机自启动服务的常用方法
方法1:执行ntsysv命令,然后在弹出的窗口中进行设置。
方法2:执行setup命令->system service,然后在弹出的窗口中进行设置
Linux系统调优权威指南的更多相关文章
- Elasticsearch搜索调优权威指南 (2/3)
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/AAkVdzmkgdBisuQZldsnvg 英文原文:https://qbox.io/blog/el ...
- Elasticsearch搜索调优权威指南 (1/3)
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/qwkZKLb_ghmlwrqMkqlb7Q英文原文:https://qbox.io/blog/ela ...
- Linux系统调优1
Linux在进行系统调优的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分: 有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬 ...
- Linux系统调优——CPU(一)
(1).系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况: CPU -> MEM -& ...
- Linux系统调优相关工具
一.系统调优概述 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确) ...
- linux系统调优工具
系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对 OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况: CPU -> MEM -> D ...
- Linux系统调优
Linux核心参数都是放置在/proc下面:系统的参数都是放置在/proc/sys swap最好放置在运行最快的硬盘上面,但是swap并能取代ram,因为并有I/O上面的损耗,所以优先考虑检验内存没有 ...
- Linux系统调优——内核相关参数(五)
修改内核参数有3种办法:一种临时修改,两种永久修改. 临时修改是使用sysctl [选项] [参数名=值]命令:永久修改是修改/etc/sysctl.conf文件或修改/proc/sys/目录下的对应 ...
- Linux系统调优——网络(四)
(1).查看网络(Network)运行状态相关工具 1)nload监控总体带宽使用情况 nload需要自己安装,而且在安装前需要安装epel-release [root@youxi1 ~]# yum ...
随机推荐
- 解决author波浪线Spellchecker inspection helps locate typos and misspelling in your code, comments and literals, and fix them in one click
自从把默认的头注释的author改成自己的名字以后越看越顺眼,但是发现名字下面一直有个波浪线,强迫症简直不能忍. 然后当你把鼠标放上去,再点击提示上的"more",会看到下面的提示 ...
- Qt---Javascript/Qt交互、脚本化
Qt提供了对Javascript的良好支持, 如果查阅过文档你就知道Qt有两个不同的Js封装引擎: QScriptEngine QJSEngine QScriptEngine出现的比较早(自Qt4.3 ...
- Udacity并行计算课程笔记-The GPU Programming Model
一.传统的提高计算速度的方法 faster clocks (设置更快的时钟) more work over per clock cycle(每个时钟周期做更多的工作) more processors( ...
- 平方根的C语言实现(三) ——最终程序实现
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7223254.html 作者:窗户 Q ...
- 02.将SDK获取到的ECS主机信息入库
1.通过调用阿里SDK,将获取到的ECS信息存入数据库,如果不知道SDK怎么使用,查看:01.阿里云SDK调用,获取ESC主机详细信息 2.import aliSDK应用的是01.阿里云SDK调用,获 ...
- Appsacn 定期自动化扫描
appscan提供了计划扫描的选项,配合windows的计划任务,可以按需设定. 操作流程如下: 1.打开Appsacn--工具---扫描调度程序---新建 2.新建后显示如下窗口 3.填写好相应的设 ...
- 如何用Visio画venn(维恩)图
今天需要换几个Venn(维恩)图,按照以前的套路是用画图工具来画的,但是这次不是画给自己看,并且也要很迅速的画好,那就迅速的来学习了. 参考网址:https://support.office.com/ ...
- Head First设计模式之状态模式
一.定义 定义:允许对象在内部状态改变时改变它的行为, 对象看起来好像修改了它的类. 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为. 何时使用:代码中包含大量 ...
- JavaScript 浏览器类型及版本号
项目中偶尔用到判断浏览器类型及相关版本问题,现记录相关代码: function getBrowserVertion(userAgent) { var browserName, browserVersi ...
- Python面向对象篇(1)-类和对象
面向对象编程 1.编程范式 我们写代码的目的是什么?就是为了能够让计算机识别我们所写的代码并完成我们的需求,规范点说,就是通过编程,用特定的语法+数据结构+特殊算法来让计算机执行特定的功能,实现一 ...