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系统调优权威指南的更多相关文章

  1. Elasticsearch搜索调优权威指南 (2/3)

    本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/AAkVdzmkgdBisuQZldsnvg 英文原文:https://qbox.io/blog/el ...

  2. Elasticsearch搜索调优权威指南 (1/3)

    本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/qwkZKLb_ghmlwrqMkqlb7Q英文原文:https://qbox.io/blog/ela ...

  3. Linux系统调优1

    Linux在进行系统调优的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分: 有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬 ...

  4. Linux系统调优——CPU(一)

    (1).系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况:  CPU -> MEM  -& ...

  5. Linux系统调优相关工具

    一.系统调优概述 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确) ...

  6. linux系统调优工具

    系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对 OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况: CPU -> MEM -> D ...

  7. Linux系统调优

    Linux核心参数都是放置在/proc下面:系统的参数都是放置在/proc/sys swap最好放置在运行最快的硬盘上面,但是swap并能取代ram,因为并有I/O上面的损耗,所以优先考虑检验内存没有 ...

  8. Linux系统调优——内核相关参数(五)

    修改内核参数有3种办法:一种临时修改,两种永久修改. 临时修改是使用sysctl [选项] [参数名=值]命令:永久修改是修改/etc/sysctl.conf文件或修改/proc/sys/目录下的对应 ...

  9. Linux系统调优——网络(四)

    (1).查看网络(Network)运行状态相关工具 1)nload监控总体带宽使用情况 nload需要自己安装,而且在安装前需要安装epel-release [root@youxi1 ~]# yum ...

随机推荐

  1. 507. Perfect Number

    We define the Perfect Number is a positive integer that is equal to the sum of all its positive divi ...

  2. 回顾2017系列篇(二):移动端APP设计趋势

    移动端APP在2017年经历了诸多的变化, 人工智能.聊天式的界面.响应式设计.虚拟现实(VR)和增强现实(AR)让设计师不断面临新的挑战.研究表明,用户每天耗费在手机和平板上的平均时长为158分钟, ...

  3. bzoj 2959: 长跑

    Description 某校开展了同学们喜闻乐见的阳光长跑活动.为了能"为祖国健康工作五十年",同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上 ...

  4. IDEA 环境设置

    IDEA环境设置 任何事物都有两面性,如何用好才是关键.IDEA为我们提供了丰富的功能,但不代表默认的配置就适合于你.我们应当根据自己的条件.需求合理的配置,从而驾驭好这匹悍马.让它成为我们编程的利器 ...

  5. Linux发行版 CentOS6.5 修改默认主机名

    修改前准备 我们将主机名修改为comexchan.cnblogs.com(本文发布于http://comexchan.cnblogs.com/) 备份相关配置文件,以便回滚 cp /etc/sysco ...

  6. python匿名函数

    文章导读: 以前自己一直没搞明白Python中的匿名函数,现在拿这个问题基本上搞明白了,拿自己的理解整成一篇文章,附带大量例子,让其更加好理解. 在编程语言中,函数的应用: 1. 代码块重复,这时候必 ...

  7. java inputstream to string stack overflow

    https://stackoverflow.com/questions/309424/read-convert-an-inputstream-to-a-string 过千赞的答案

  8. K:线性表的实现—链表

    单链表的概念:  采用链式存储方式存储的线性表称之为链表,链表中每个节点包含存放数据元素的值的数据域和存放指向逻辑上相邻节点的指针域.若一个节点中只包含一个指针域,则称此链表为单链表. 单链表的特点: ...

  9. composer安装laravel

    安装composer composer是一个很有用的工具,我将用它在本机(win7)上安装laravel 到composer的官网,根据自己的系统要求下载相应的版本 安装laravel 首先cmd下进 ...

  10. vuex 基本用法、兄弟组件通信,参数传递

    vuex主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值,需要先将值传给父组件,再传给子组件,异常麻烦. vuex大概思路:a=new Vue(),发射数据'msg':a.$emit ...