CentOS系統的優化
優化之前,首先檢視版本資訊
# cat /etc/redhat-release CentOS release 6.7 (Final) # 系統版本資訊 # uname –r 2.6.32-573.el6.x86_64 # 核心版本資訊 # uname -m x86_64 #表示為64位系統 # uname –a # 顯示全部資訊 Linux hostname2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Linux基礎優化與安全重點小結
1 不用root登入管理系統,而以普通使用者登入通過sudo授權管理
2 更改預設的遠端連線SSH服務埠,禁止root使用者遠端連線,甚至要更改SSH服務只監聽內網IP
3 定時自動更新伺服器時間,使其和網際網路同步
4 配置yum更新源,從國內更新源下載安裝軟體包
5 關閉SELinux及iptables
6 定時自動清理郵件臨時目錄垃圾檔案,防止磁碟inodes數被小檔案佔滿
7 調整檔案描述符的數量,程序及檔案的開啟都會消耗檔案描述符的數量
8 精簡併保留必要的開機啟動服務
9 Linux核心引數優化/etc/sysctl.config,執行sysetl –p生效
10 更改系統字符集, 為“zh_CN.UTF-8”,使其支援中文,防止出現亂碼問題。
11 鎖定關鍵檔案,如: passwd、/etc/shadow/、/etc/group/、/etc/gshadow、/etc/inittab,處理以上內容後把chattr、lsattr、改名為root,轉移走,這樣就安全多了。
12 清空/etc/issue /etcissue.net,去除系統及核心版本登入前的螢幕顯示
13 清除多餘的系統虛擬使用者賬號
14 為grub引導選單加密碼
15 禁止主機被ping
16 打補丁並升級有已知漏洞的軟體
拓展
掌握Linux系統的7種執行級別。
1 執行級別0:系統停機狀態,系統預設執行級別不能設為0,否則不能正常啟動
2 執行級別1:單使用者工作狀態,root許可權,用於系統維護,禁止遠端登陸
3 執行級別2:多使用者狀態(沒有NFS)
4 執行級別3:完全的多使用者狀態(有NFS),登陸後進入控制檯命令列模式
5 執行級別4:系統未使用,保留
6 執行級別5:X11控制檯,登陸後進入圖形GUI模式
7 執行級別6:系統正常關閉並重啟,預設執行級別不能設為6,否則不能正常啟動
掌握Linux系統從開機到登入之前的啟動流程。是由etc/inittab控制的
1. 使用阿里雲映象做樣本源
預設國外的yum源比較慢,所以換成國內的。
1 # cd /etc/yum.repos.d/ 2 # ls 3 CentOS-Base.repo CentOS-Media.repo 4 CentOS-Debuginfo.repo CentOS-Vault.repo 5 CentOS-fasttrack.repo 6 # cp CentOS-Base.repo CentOS-Base.repo.ori 更改配置檔案之前進行備份 7 # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo centos6系統 8 # echo "192.168.14.200 mirrors.aliyun.com" >>/etc/hosts 公網地址換成內網地址 9 # yum -y install tree nmap sysstat lrzsz dos2unix telnet 安裝必要的軟體包(tree)
2. 關閉SELinux功能
1) 修改配置檔案,使關閉SELinux永久生效:
l 第一種方法
1 # vim /etc/selinux/config 2 然後找到SELINUX=enforcing改成SELINUX=disabled 3 ESC:wq結束
l 第二種方法
1 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 2 sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config
2) 臨時關閉SELinux,可在命令列執行如下命令:
1 [[email protected] ~]# getenforce <--檢視現在狀態 2 3 Enforcing 4 5 [[email protected] ~]# setenforce 6 7 usage: setenforce [ Enforcing | Permissive | 1 | 0 ] 8 9 [[email protected] ~]# setenforce 0 <-- 臨時將selinux調成下面的狀態 10 11 [[email protected] ~]# getenforce 12 13 Permissive
命令說明:setenforce:用於命令列管理SELinux的級別,
getenforce:檢視SELinux當前級別
提示:修改配置SELinux後,要想其生效,必須要重啟系統。再生產場景中不能隨意重啟系統。
3) 關閉iptables防火牆
l 臨時關閉,關機之後會重新啟動
1 /etc/init.d/iptables status <-- 檢視看是否開啟 2 /etc/init.d/iptables stop <-- 關閉防火牆
l 關閉開機自啟動的防火牆
第一種方法
1 [[email protected] ~]# chkconfig --list|grep ipt <-- 檢視狀態 2 iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off 3 [[email protected] ~]# chkconfig iptables off <--下一次系統開啟不執行防火牆 4 [[email protected] ~]# chkconfig --list|grep ipt 5 iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
第二種方法
1 /etc/init.d/iptables stop <--當前關閉防火牆 2 chkconfig iptables off <--關閉開機自啟動命令
4) 設定執行級別為3(文字模式)
1 設定執行級別(runlevel)為3(一般安裝系統後預設為3)即表示使用文字命令模式管理linux 2 3 grep 3:initdefault /etc/inittab <-- 檢查命令 4 runlevel <--另一種簡單方法 5 init 3 <--切換執行級別
5) 精簡開機系統啟動
1)系統開機必須要開啟的服務
l sshd
遠端連線linux伺服器時需要用到這個服務程式,所以必須開啟
l rsyslog
日誌相關軟體,
l network
網路服務
l crond
會週期的執行系統和使用者配置的任務計劃。
l sysstat
sysstat是一個軟體包,包含檢測系統性能及效率的一組工具.\
2)設定開啟自啟動服務的方法
手動關閉用setup
chkconfig --list|grep 3:on <--檢視開機自啟動的專案
第一種快速處理方法:先全關閉,再開啟需要保留的。
操作思路:先將3級別文字模式下預設開啟的服務都關閉,然後開啟需要開啟的服務。
操作命令如下:
1 LANG=en 2 for root in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $root off;done 3 for root in crond network rsyslog sshd sysstat ;do chkconfig --level 3 $root on;done 4 chkconfig --list|grep 3:on
第二種快速處理方法
1 for root in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE "crond|network|sshd|rsyslog|sysstat"`;do chkconfig $root off;done
第三種快速處理方法(逼格最高)
chkconfig --list|grep 3:on|grep -vE "crond|sshd|network|rsyslog|sysstat " |awk '{print "chkconfig " $1 " off"}'|bash
6) 新增普通使用者賬號
linux/unix是一個多使用者,多工的作業系統
超級管理員(root):擁有最高許可權
普通使用者
l 一條命令設定密碼
echo '123456'|passwd --stdin root <--root使用者名稱,密碼為123456
| 使用命令新增一個普通使用者,命令如下:
1 useradd root <--新增使用者 2 passwd root <--設定使用者密碼
l 嘗試切換使用者角色,命令如下:
1 [[email protected] ~]# su – root <--由root管理員,切換到普通使用者root 2 [[email protected] ~]$ whoami <--檢視當前使用者 3 root 4 [[email protected] ~]$ su - <--切到root使用者 5 Password:
l linux命令提示符由PS1環境變數
檢視環境變數: echo $PS1
7) 利用sudo控制使用者的使用許可權
為了方便管理,可以給使用者授權,過程:輸入vi sudoers找到98行,在下面放入如下內容:
oldboy ALL=(ALL) NOPASSWD: ALL <--all表示完全的系統許可權,NOPASSWD表示提示許可權命令時不需要密碼
配置完成後要進行檢查,命令如下:
[[email protected] ~]# grep root /etc/sudoers oldboy ALL=(ALL) NOPASSWD: ALL
此時再以oldboy使用者登入系統時,就可以通過執行sudo ls –l /root (sudo後面跟正常命令)的命令以root使用者的許可權管理系統了,如下:
[[email protected] ~]$ ls /root/ ls: cannot open directory /root/: Permission denied [[email protected] ~]$ sudo ls /root/ HostKeyDB.txt test.txt 12345 install.log woaini
8) Linux系統安全最小化原則說明
a) 安裝Linux系統最小化,即選包最小化。
b) 開機自啟動服務最小化,即不用的服務不開啟。
c) 操作命令最小化。
d) 登入Linux使用者最小化。平時沒有特殊需要就用普通使用者登入即可。
e) 普通使用者授權許可權最小化。只給使用者必要的管理系統的命令。
f) Linux系統檔案及目錄的許可權設定最小化。禁止隨意建立,更改,刪除檔案。
g) 程式服務執行最小化,即程式服務執行儘量不用root身份進行。
9) 更改SSH服務端遠端登入的配置
windows伺服器的預設遠端管理埠是3389,管理員使用者是administrator,普通使用者guest。Linux管理使用者是root,遠端連線預設埠port22。
1 [[email protected] ~]#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori <--備份配置檔案,簡單寫法cp /etc/ssh/sshd_config{,.ori}2 [[email protected] ~]# vim /etc/ssh/sshd_config
3 進入17行加入:
4 ####by root#2011-11-24##
5 rt 52113
6 PermitRootLogin no
7 PermitEmptyPasswords no
8 UseDNS no
9 GSSAPIAuthentication no
10 ####by root#2011-11-24##
11 /etc/init.d/sshd reload <--reload為平滑重啟,不會影響正在SSH連線的其他使用者,restart直接斷開生效
然後就連不上了,因為埠改了。
然後更改會話選項裡的SSH2裡的埠還有使用者名稱。就OK了
10) Linux中文顯示設定
此選項為優化可選項,即調整Linux系統的字符集設定。
簡單的說,字符集就是一套文字元號及其編碼。目前linux下常用的字符集有:
GBK:定長雙位元組
UTF-8:非定常,1~4位元組,廣泛支援
臨時生效,命令:LANG=”zh_CN.UTF-8’
永久生效,可以通過快捷的命令方式在/etc/sysconfig/i18n中新增如下內容,使其支援中文顯示:
1 [[email protected] ~]# echo $LANG 2 en_US.UTF-8 3 [[email protected] ~]# cat /etc/sysconfig/i18n 4 LANG="en_US.UTF-8" 5 SYSFONT="latarcyrheb-sun16" 6 [[email protected] ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori 7 [[email protected] ~]#echo ‘LANG=”zh_CN.UTF-8”’>/etc/sysconfig/i18n相關推薦
centos 系統優化
linux 系統開機自啟動優化 關閉所有:for zdw in `chkconfig --list|grep "5:on"|awk ‘ {print $2}‘ `;do chkconfig $zdw off;donefor zdw in `chkconfig --list|grep "5:on"|awk
CentOS系統優化腳本,未完結
CentOS 系統優化 最小化安裝 #!/bin/bash#判斷一個當前用戶是不是root用戶,不是則提示需要使用sudo來提升權限if [ $user != "root"] then echo "需要使用 sudo 才能使用的腳本"】
Linux CentOS 6.9系統優化腳本
互聯網 時間 lan optimize /etc/ cal track 文件 rip 系統版本CentOS release 6.9 (Final)2.6.32-696.el6.x86_64 x86_64 [root@yuguotianqing scripts]# cat o
Centos 6系統優化
iptable nta con ket 開機 for 時間 cor cal #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin mkdi
2-09 CentOS系統參數優化
backlog 建立 長度 系統 back 一個 服務 客戶端 net 對於一個tcp連接來說,服務器與客戶端之間需要三次握手,來建立網絡的連接,當三次握手成功之後,我們可以通過netstat 命令查看端口的狀態由監聽轉變成連接,就可以在這連接上傳輸數據了,對於一個監聽狀態
Centos 6 系統優化
linux centos6 系統初始優化 Centos 6 系統優化1.系統安裝的包 最小化安裝時,自定義額外包組Base,Compatibility libraries,Debugging Tools,Development tools. 自
CentOS系統參數優化
容易 數據庫 進行 重啟 禁用 linux 有一個 請求 max 內核相關參數(/etc/sysctl.conf) 以下參數可以直接放到sysctl.conf文件的末尾: net.core.somaxconn = 65535 net.core.netde
mysql之 CentOS系統針對mysql參數優化
內核參數 mysq 特殊 app 參數 bsp 緩沖池 dea 磁盤分區 內核相關參數(/etc/sysctl.conf) 以下參數可以直接放到sysctl.conf文件的末尾: net.core.somaxconn = 65535 net.core.net
mysql之 CentOS系統針對mysql引數優化
核心相關引數(/etc/sysctl.conf) 以下引數可以直接放到sysctl.conf檔案的末尾: net.core.somaxconn = 65535 net.core.netdev_max_backlog = 65535 net.ipv
CentOS系統的優化
優化之前,首先檢視版本資訊# cat /etc/redhat-release CentOS release 6.7 (Final) # 系統版本資訊 # uname –r 2.6.32-573.el6.x86_64
CentOS 6.x 系統優化指令碼
每次都優化很麻煩,整理了一個指令碼: #!/bin/bash SERVICES="abrt-ccpp abrt-oops abrtd acpid atd auditd avahi-daemon autofs avahi-daemon bluetooth certmonger
VirtulBox虛擬機搭建Linux Centos系統
流量 -- span 名稱 ftp 註意 img blank style 簡要說明 該文章目的是基於搭建hadoop的前置文章,當然也可以搭建Linux的入門文章。那我再重復一下安裝準備軟件。 環境準備: http://pan.baidu.com/s/1dFrH
CentOS系統yum報錯Cannot find a valid baseurl for repo
val 成功 start network valid 搜索 解決 base 連接 今天在嘗試安裝apache2服務器時候遇到了問題:在使用新安裝的CentOS系統下使用yum命令行直接報錯。 搜索了一下解決方法,首先嘗試第一個,修改DNS vi /etc/resolv.co
Centos系統通過tar.gz包安裝Mysql5.7
light 修改 class ads basedir 創建 datadir 遠程 root 1.安裝mysql之前需要確保系統中有libaio依賴,使用如下命令: yum search libaio yum install libaio 2.進入centos終端操作
局域網如何通過SSH連接虛擬機裝的centOS系統
nbsp 1-1 images image 但是 通過 一個 其他 ping 首先,在一個局域網內的一臺機器上裝了虛擬機,虛擬機上裝了centos系統; 但是,只有本機能連接centos,其他電腦都連不上; ping了一下發現不通,然後排查原因。 我發現局域網內的機器IP都
Linux系統優化
系統優化 系統 優化 linux1、修改ip地址、網關、主機名、DNS等[[email protected]/* */ ~]# cat/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #網卡
VMware12 中CENTOS系統中網絡(橋接模式)靜態ip設置
start 3.1 打開 設備 一段 引導 打開文件 虛擬網絡 -- 1.菜單欄:--》編輯 –》虛擬網絡編輯 2.虛擬機設置 3.啟動虛擬機 3.1打開文件ifcfg-eth0 命令如下: vi
“Vbox安裝CentOS系統”之低級錯誤一例:版本號的選擇
作品 檢查 span fontsize 分析 版本 系列 ast 網卡 日 期:2014年7月18日 錯誤描寫敘述:虛擬機系統版本號選擇錯誤,導致無法引導進入光盤安裝 錯誤重演: 因為混淆了centos和rehat的版本號概念。錯
CentOS系統編譯安裝服務如何添加開機自啟動
開機自啟 rc.local生效 今天在重啟CentOS系統時,發現已設置開機自啟動的服務並沒有隨開機自啟動,於是查閱資料,定位原因,特更此文,以備查閱。 首先,之前的做法是將命令寫入/etc/rc.local文件中,如下: vi /etc/rc.local #!/bin/ba
2017.7.7 長尾關鍵詞系統優化
名稱 布局 產生 網站 排名 tro 蜘蛛 文章標題 設計 挖掘長尾思路: 1.定位目標用戶 2.思考目標用戶搜索行為 3.用目標用戶搜索詞進行關鍵詞擴展 5118 找出行業20個網站,分析流量來源的關鍵詞 麻辣燙裝修店面 酸辣粉店面裝修 同義詞替換 萬科網站設