天天看點

Linux系統優化

CentOS6.7_x64系統優化:

1 關閉selinux

#Disable SElinu

setenforce 0

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

2 關閉防火牆

#Stop iptables

/etc/init.d/iptables stop

/etc/init.d/ip6tables stop

chkconfig ip6tables off

3 設定運作級别為3,mini安裝方式預設為3

sed -i 's/^id:[0-6]/id:3/' /etc/inittab

4 精簡開機啟動服務(iptables/ip6tables已經關閉)

#Stop services

chkconfig --list | grep "3:on"|grep -vE "crond|messagebus|network|rsyslog|sshd|sysstat"| awk '{print"chkconfig",$1,"off"}' |bash

運作級别為3的服務

[root@localhost ~]# chkconfig --list | grep"3:on"

abrt-ccpp           0:off 1:off 2:off 3:on 4:off 5:on 6:off#ABRT程序,提供對c/c++問題分析報告

abrtd              0:off 1:off 2:off 3:on 4:off 5:on 6:off#ABRT( Automatic Bug Reporting Tool)守護程序,需要root權限并在背景運作

acpid              0:off 1:off 2:on 3:on 4:on 5:on 6:off#電源管理程序

atd               0:off 1:off 2:off 3:on 4:on 5:on 6:off#任務排程程序(執行一次)

auditd             0:off 1:off 2:on 3:on 4:on 5:on 6:off#核心審計程序

blk-availability          0:off 1:on 2:on 3:on 4:on 5:on 6:off#塊裝置管理工具

cpuspeed          0:off 1:on 2:on 3:on 4:on 5:on 6:off#CPU速度控制程序

crond             0:off 1:off 2:on 3:on 4:on 5:on 6:off #計劃任務程序(周期性執行)

haldaemon        0:off 1:off 2:off 3:on 4:on 5:on 6:off#硬體抽象層程序,主要收集硬體資訊

irqbalance           0:off 1:off 2:off 3:on 4:on 5:on 6:off#CPU負載均衡管理程序

kdump           0:off 1:off 2:off 3:on 4:on 5:on 6:off#在系統崩潰是轉儲核心資訊的程序

lvm2-monitor        0:off 1:on 2:on 3:on 4:on 5:on 6:off#lvm監視程序

mdmonitor        0:off 1:off 2:on 3:on 4:on 5:on 6:off#軟radi監視程序

messagebus       0:off 1:off 2:on 3:on 4:on 5:on 6:off#主要提供與dbus通信服務

netfs              0:off 1:off 2:off 3:on 4:on 5:on 6:off#檔案系統自動挂載服務(NFS,samba)

network           0:off 1:off 2:on 3:on 4:on 5:on 6:off #網絡接口開啟/關閉守護程序

postfix              0:off 1:off 2:on 3:on 4:on 5:on 6:off#poxtfix郵件服務

rsyslog             0:off 1:off 2:on 3:on 4:on 5:on 6:off #日志資訊收集服務

sshd              0:off 1:off 2:on 3:on 4:on 5:on 6:off #ssh遠端登入程序

sysstat             0:off 1:on 2:on 3:on 4:on 5:on 6:off #系統性能監視工具服務

udev-post           0:off 1:on 2:on 3:on 4:on 5:on 6:off#裝置管理服務

5 SSH服務配置

#SSH

sed -ir '13i Port 22\nPermitRootLoginyes\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no'/etc/ssh/sshd_config

6 建立普通管理者賬号并通過sudo授權管理

#sudo user

groupadd -g 601 admin

useradd -u 601 -g admin admin

\cp /etc/sudoers /etc/sudoers.ori

echo "admin ALL=(ALL)NOPASSWD:ALL" >>/etc/sudoers

7 系統字元集設定(預設選擇英文)

cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

中文需設定為”zh_CN.UTF8”

8 NTP時間同步

在内網環境中,通常會部署1-2台NTP時間伺服器,進行與網絡時間同步,内網其他裝置均通過内網NTP伺服器進行時間同步

9 修改曆史記錄數

echo 'export HISTSIZE=1000'>>/etc/profile

echo 'export HISTFILESIZE=1000'>>/etc/profile

10 修改登入逾時

echo 'export TMOUT=300'>>/etc/profile

11 檔案描述符修改

企業的生産部門可能報告系統檔案無法打開的問題,此時需要注意是否是檔案打開數量太少所緻

#Open files

echo '*                        -        nofile                  65535'>>/etc/security/limits.conf

12 核心常用優化參數

#Kernel

cat >>/etc/sysctl.conf<<EOF

net.ipv4.tcp_fin_timeout=2

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_tw_recycle=1

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_keepalive_time=600

net.ipv4.ip_local_port_range = 4000  65000

net.ipv4.tcp_max_syn_backlog= 16384

net.ipv4.tcp_max_tw_buckets=36000

net.ipv4.route.gc_timeout=100

net.ipv4.tcp_syn_retries=1

net.ipv4.tcp_synack_retries=1

net.core.somaxconn=16384

net.core.netdev_max_backlog=16384

net.ipv4.tcp_max_orphans=16384

EOF

13 修改版本資訊

通過修改/etc/issue與/etc/issue.net改變系統顯示的版本資訊

14 清除多餘系統賬号

在了解公司具體業務後,可以禁用多餘的系統賬号。

16 為grub菜單加密

除非安全要求非常高,否則通常管理者不會專門設定grub密碼

17 鎖定關鍵檔案

chart +i /etc/passwd等,一般不會鎖定,除非安全性要求非常高

繼續閱讀