linux高階應用篇 系統優化

2021-09-20 16:24:27 字數 3472 閱讀 6445

在機器上安裝完linux系統後,一般要做的有系統更新、軟體安裝、軟體更新、系統優化等等,本次我們來討論最容易忘卻和忽略的系統優化。

以下針對linux列出一系列優化點,並列出每點的優化命令(經測試)

適用於(centos/redhat/fedora 5-6版本)

1. 關閉selinux功能

sed -i 's/selinux=enforcing/selinux=disabled/' /etc/selinux/config

setenforce 0 > /dev/null 2>&1

2. 設定執行級別為3

sed -i 's#id:5:initdefault:#id:3:initdefault:#' /etc/inittab

3. 精簡開機啟動

方法一:

lang=en && for name in `chkconfig --list | grep 3:on | awk '' | grep -ev "sshd|network|sysstat|crond|rsyslog" `; do chkconfig $name off; done

方法二:

lang=en && chkconfig --list | grep 3:on | grep -ve "crond|sshd|network|rsyslog|sysstat" | awk '' | sed -r 's#(.*)#chkconfig \1 off#g'|bash

方法三:

lang=en && chkconfig --list | grep 3:off | awk '' | grep -ev "sshd|network|sysstat|crond|rsyslog" | awk '' | bash

4. 關閉iptables防火牆(有外網ip需謹慎)

/etc/init.d/iptables stop && chkconfig iptables off

5. ssh優化 關閉userdns檢查、更改訪問埠、禁止空密碼登陸、禁止root登陸、關閉gss檢查

sed -r  -e 's/#?usedns yes/usedns no/'  \

##通過防火牆限制僅能使用內網ip連線伺服器(慎用)

iptables -i input -p tcp --dport 22 -s 192.168.56.0/24 -j accept 

6. sudo安全管理

方法一:

visodu 手動管理

方法二:

sed -i "`grep -en "^root" /etc/sudoers| awk -f ':' ''`aroot\tall=(all)\tnopasswd: all" /etc/sudoers && visudo -c 

7. 中文顯示 先備份,再修改,最後比對

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori && sed -i 's#en_us.utf-8#zh_cn.utf-8#g' /etc/sysconfig/i18n && source /etc/sysconfig/i18n

8. 時間同步

echo "#time sync by cnlisea at `date +%f" "%t`" >> /var/spool/cron/root

echo "*/30 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/root     hwclock

9. 系統使用設定 

設定閒置賬號超時時間

設定歷史命令數

echo "export histsize=5" >> /etc/bashrc 

歷史記錄檔案的命令資料

echo "export histfilesize=5" >> /etc/bashrc

source /etc/bashrc

10. 調整linux系統檔案描述符數量

echo -e "*\t\t-\tnofile\t\t65535" >> /etc/security/limits.conf

source /etc/bashrc

11. linux核心引數優化

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

//是參iptables防火牆的優化

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

sysctl -p

12. 隱藏linux版本資訊

> /etc/issue

> /etc/issue.net

13. 鎖定關鍵系統檔案(慎用)

加鎖 chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

解鎖 chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

將chattr改名轉稱

mv /usr/bin/chattr /usr/bin/lisea

14. 清除多餘的系統虛擬賬號

按需清理。

15. 禁止系統被ping(慎用)

echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf

sysctl -p

Linux系統優化高階

一 更改 ssh 服務遠端登入的配置 windows 預設遠端埠和管理員使用者 管理員 administrator port 3389 linux 遠端連線預設埠和超級使用者 管理員 root port 22 1 埠的範圍是 0 65535 ssh 服務所在位置 etc ssh sshd confi...

Linux高階篇 檔案系統

本博目錄 在 linux入門篇 初識linux 這篇文章,我們了解了關於linux的基本使用者管理和檔案管理,現在,我們研究下linux的另乙個重要的概念 檔案系統。對於linux,一切皆是檔案,在計算機系統中,磁碟就是用來儲存這些檔案的。但對於磁碟來說,只有0和1的概念,根本沒有檔案和目錄的概念,...

MySQL效能優化之高階篇

4.1 索引是什麼,建立索引的原因 索引用於快速找出在某個列中有一特定值的行,不使用索引mysql必須從第一條記錄開始讀完整個表,直到找出相關的行,表越大查詢資料所花費的時間就越多,如果表中查詢的列有乙個索引,mysql能夠快速到達乙個位置去搜尋資料檔案,而不必檢視所有資料,那麼將會節省很大一部分時...