1. 程式人生 > >NO19 優化Linux系統--重要開機自啟動服務--關閉自啟動項

NO19 優化Linux系統--重要開機自啟動服務--關閉自啟動項

color 內核版本 數據 項目 iss rsyslog chattr -- 單個

**如何優化Linux系統:

1 不用root,添加普通用戶,通過sudo授權管理。
2 更改默認的遠程連接SSH服務端口及禁止root用戶遠程連接。
3 定時自動更新服務器時間。
4 配置yum更新源,從國內更新源下載rpm包。
5 關閉selinux及iptables(iptables工作場景如果有wan ip一般要打開,高並發除外)。
6 調整文件描述符的數量,進程及文件的打開都會消耗文件描述符。
7 定時自動清理/var/spool/clinentmquene/目錄垃圾文件,防止inodes節點被沾滿。(c6.4n默認沒 有sendmail,因此,可以不配)。
8 精簡開機自啟動服務(crond,sshd,network,rsyslog)。
9 Linux內核參數優化/etc/sysctl.conf。執行sysctl -p生效。
10 更改字符集,支持中文(防止亂碼最好還是用英文字符集)。
11 鎖定關鍵系統文件:
chattr +i /etc/passwd /etc/shadow /etc/group /etc/group /etc/gshadow /etc/inittab
處理以上內容後把chattr,lsattr改名oldboy,這樣就安全多了。
12 清空/etc/issue,去除系統及內核版本登入前的屏幕顯示。
13 清除無用的默認系統賬戶或組。(非必須)。


一、重要的開機自啟動服務:
1、sshd:遠程連接Linux服務器時需要用到這個服務程序,所以必須要開啟,否則Linux服務器就無法提供遠程連接服務了。

2、rsyslog:日誌相關文件軟件,這是操作系統提供的一種機制,系統的守護程序通常會使用rsyslog程序將各種信息寫到各個系統日誌文件中,C6以前此服務的名字為:syslog。、

3、network:系統啟動時,若想激活/關閉各個網絡接口,就要開啟。

4、crond:該服務用於周期性地執行系統及用戶配置的任務計劃,有要周期性執行的任務時,就要開啟,此服務幾乎時生產場景必須要用的一個軟件。

5、sysstat:這是一個軟件包,包含監測系統性能及效率的一組工具,這些工具對於我們手機系統性能數據很有幫助,比如CPU使用率,硬盤和網絡吞吐數據等,對這些數據的收集和分析,有利於判斷系統運行是否正常,所有它是提高系統運行效率, 安全運行服務器的得力助手。
Sysstat軟件包集成的主要工具為:
1、iostat:工具提供CPU使用率及硬盤吞吐效率的數據。
2、mpstat:工具提供與單個或多個處理器相關的數據。
3、sar:工具負責收集,報告並存儲系統活躍的信息。

關閉自啟動項:
思路:
1、關閉不要的,因為我們需要的的服務默認是開啟狀態:
步驟解析:
[root@localhost ~]# chkconfig --list|grep 3:on

(選擇3級別下自動啟動的項目作為實驗目標)
[root@localhost ~]# chkconfig --list|grep 3:on|egrep "crond|sshd|network|rsyslog|sysstat"

(過濾出要保留的項目)
[root@localhost ~]# chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"

(過濾出除了要保留項目之外的目標)
[root@localhost ~]# chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk ‘{print $1}‘

打印上一步的目標,這步其實可以省略直接下一步)

[root@localhost ~]# chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk ‘{print "chkconfiig",$1,"off"}‘

(把操作的命令編寫進去)
直接這步命令就好了:
[root@localhost ~]# chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk ‘{print "chkconfiig",$1,"off"}‘|bash
(交給系統腳本bash,執行編寫的操作命令)
**Linux命令行就是一個bash會話,我們平時敲的所有Linux命令都是由bash解析執行的。
[root@localhost ~]# chkconfig --list|grep 3:on (檢查效果)


2、所有服務全關,再開啟我們需要的服務。
[root@localhost ~]# chkconfig --list|grep 3:on|awk ‘{print "chkconfig",$1,"off"}‘|bash
[root@localhost ~]# chkconfig --list|egrep "crond|sshd|network|rsyslog|sysstat"|awk ‘{print "chkconfiig",$1,"on"}‘|bash

NO19 優化Linux系統--重要開機自啟動服務--關閉自啟動項