關閉SElinux功能
•修改配置文件使其永遠生效
第一種修改方法vi
vi /etc/sysconfig/selinuc 或者 vi /etc/selinux/config
修改: SELINUX=disabled
第二種修改方法
sed -i 's/SELINUX=enforcing/SELINUX=disabled' /etc/selinux/conf # 直接修改讀取內容而不輸出到終端
•臨時關閉SElinux
setenforce 0 # 臨時關閉SElinux getenforce # 查看SElinux狀態
•提示:修改完SElinux配置文件后重啟系統才會生效,可以配合使用setenforce 0這個命令,這樣在重啟前后都可以使SElinux處於關閉狀態
設定系統運行級別為3(文本模式)
•系統運行級別為3代表使用文本命令行模式來管理linux系統
grep 3:initdefault /etc/inittab 3:initdefault # 系統默認的運行級別,工作中常用,即文本模式 runlevel # 查看當前系統運行級別 init 5 # 只有安裝桌面才可以執行startx
•七種運行級別:
運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸
運行級別2:多用戶狀態(沒有NFS)
運行級別3:完全的多用戶狀態(有NFS),登陸后進入控制台命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制台,登陸后進入圖形GUI模式
運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動
•chkconfig操作命令:
chkconfig --list #顯示所有運行系統服務的運行狀態 chkconfig --list sshd #只顯示指定的系統服務sshd的運行狀態 chkconfig --add sshd #增加一個系統服務sshd,默認所有級別都關閉 chkconfig --level xx sshd on/off #設置sshd的運行級別開啟或關閉 chkconfig --del sshd #刪除系統服務sshd
精簡開機系統自啟動
•五個企業環境中開機自啟動的服務;
sshd:遠程連接linux服務器必須開啟
rsyslog:日志相關軟件
network:網絡服務
crond:系統和用戶配置的計划任務周期性進行
sysstat:收集系統性能數據,有利於判斷系統是否正常
•sysstat軟件包介紹:
安裝:yum -y install sysstat
sadc工具:
位於/usr/lib64/sa/目錄下,sadc是將數據寫在一個二進制文件中,如果要查看內容要用sadf工具查看
執行/usr/lib64/sa/sadc - 輸出會保存在/var/log/sall中 需要用sadf或者sar -f /var/log/sa/sa11 # -f 從一個二進制文件中入去內容 Linux 2.6.32-504.30.3.el6.x86_64 (alex) 2016年06月11日 _x86_64_ (1 CPU) # 輸出信息
應用舉例:
1、查看cpu使用率: sar -u 1 5 # 表示每一秒統計一次,一共統計5次 2、查看網絡吞吐量 sar -n DEV 2 5 # 表示每兩秒統計一次,一共統計5次
iostat:可以收集cpu使用狀況,磁盤IO狀態
mpstat:一般用於多處理器中cpu使用率的統計
詳細參考:http://www.361way.com/use-sysstat/1521.html
•sysstat軟件包繼承的主要工具有:
iostat提供CPU使用率以及硬盤吞吐效率的數據
mpstst提供單個或多個處理器的數據
sar收集、報告並存儲系統活躍信息
•設置開機自啟動服務的常見方法
方法一:ntsysv
方法二:setup
查看運行級別是3的服務:
chkconfig --list |grep 3:啟用
關閉iptables防火牆
對於高並發高流量的業務不適合開啟iptables防火牆,一般這種業務需要在前端配置硬件防火牆
#關閉iptables防火牆 /etc/init.d/iptables stop #關閉開機自啟動 chkconfig iptables off #查看iptables啟動級別 chkconfig --list |grep iptables
更改ssh服務器端遠程登入配置
•windows服務器端遠程端口:3389,管理員為administrator,普通用戶為guest;linux服務器遠程端口為:22,管理員為root,普通用戶隨意
vi /etc/ssh/sshd_config Port 2222 #修改自己的ssh端口 PermitRootLogin no #禁止用root登入自己的系統 PermitEmptyPasswords no #禁止密碼為空的用戶登入 UseDNS no #對遠程主機進行反向解析,會減慢ssh連接速度 GSSAPIAuthentication no #解決ssh遠程連接慢的問題
•更高級的ssh安全策略
更改ssh的監聽ip
通過防火牆限制使用內網ip連接服務器
通過撥號VPN服務器接通內網然后訪問這些服務器
通過sudo控制用戶對系統命令的使用權限
•為了安全以及管理方便,需要將使用root權限的用戶加入sudo管理,用戶可使用自己的賬號登入系統,用root的權限來管理系統
visudo == vi /etc/sudoers #第98行 root ALL=(ALL) ALL alex ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel #用戶alex能夠使用useradd和userdel命令
•給普通用戶創建root的權限
visudo
# 第98行
alex ALL=(ALL) NOPASSWD:ALL #alex擁有root所有權限不用輸入密碼
查看/root目錄時需要sudo ls /root 通過sudo命令獲取權限
注意:通過sudo授權后命令格式為:sudo 命令;
sudo -l 可以查看該用戶被授權的sudo命令集合
linux中文顯示設置
•GBK用2個字節表示一個中文,UTF-8用3個字節表示一個中文
vi /etc/sysconfig/i18n LANG="zh_CN.GBK" # 中文格式的GBK LANG="zh_CN.UTF-8" # utf-8編碼 <------------推薦 LANG="en_US.GBK" # 英文格式的GBK LANG="en_US.UTF-8" # utf-8編碼
•使用secureCRT可以設置編碼格式,必須和系統設置的一樣
Option--Session Option--Appearance
選項--會話選項--外觀-- 字符編碼
設置linux服務器時間同步
linux的時間同步服務為ntp服務,機器少時使用,機器多了可以布置內網的時間服務器
which ntpdate /usr/sbin/ntpdate #輸出 #更新系統時間 /usr/sbin/ntpdate time.nist.gov 或者 ntp.sjtu.edu.cn 可以去網上找合適的時間服務器
歷史記錄數以及登入超時環境變量設置
查看歷史命令:history
vi /etc/profile TIMEOUT=10 #鏈接超時時間 HISTSIZE=10 #命令行的歷史記錄數 HISTFILESIZE=10 #歷史記錄文件的命令數量
調整linux系統文件描述符數量
文件描述符是由無符號整數表示的句柄,進程使用它來標識打開的文件;對於內核而言,所有打開的文件都是通過文件描述符引用的,打開一個文件,內核向進程返回一個文件描述符。。
查看文件描述符的命令
ulimit -n
方法一: vi /etc/security/limits.conf * - nofile 65535 # 最后一行添加 方法二: echo '* - nofile 65535' >> /etc/security/limits.conf
配置完成后需要重新登入才會生效
加入開機啟動項
vi /etc/rc.local ulimit -HSn 65535
linux服務器內核參數優化
pass
定時清理郵件服務臨時目錄垃圾文件
CentOS 5 系統默認安裝Sendmail服務,郵件臨時存放位置:/var/spool/clientmqueue
CenterOS 6沒有安裝Sendmail服務,而是改裝Postfix服務,郵件臨時存放位置:/var/spool/postfix/maildrop
臨時存放位置如果被垃圾文件填滿會導致inode數量不夠用,需要手動清理
•Centos 5
find /var/spool/clientmqueue/ -type f |xargs rm -f
•Centos 6
find /var/spool/postfix/maildrop -type f |xargs rm -f
df -i 查看磁盤inode的總量、使用量、剩余量
隱藏linux版本的信息(登入時)
登入顯示的版本信息存放在:/etc/issue
cat /etc/issue # 輸出 CentOS release 6.6 (Final) Kernel \r on an \m
# 執行命令 > /etc/issue # 清除文件內容,再次登入時則不顯示linux的版本信息
鎖定關鍵系統文件,防止被提權篡改
chstt,文件在/user/bin/下,為了防止被修改可以做軟連
上鎖系統文件chattr,以后任何用戶修改這個文件都不會成功,除非解鎖
+:代表在原有屬性的基礎上
i:immutable不可修改的
chattr +i /etc/passwd
解鎖系統文件
chattr -i /etc/passwd
查看文件的屬性lsattr
lsattr /etc/passwd
清除多余的系統虛擬賬號
不是必須的優化選項,pass
為grub菜單加密碼
目的:防止別人修改grub進行內核啟動項設置以及用當用戶模式修改root密碼,安裝系統后的設置如下:
1、生成md5秘鑰 /sbin/grub-md5-crypt 2、修改/etc/grub.conf 在splashimage和title之間加入 password --md5 秘鑰
設置完成后管理grub就會提示輸入密碼
禁止linux系統被ping
為了增加系統的安全性。可以禁止我們的linux系統被ping,可惜修改iptables來設置
一般不用
echo 'net.ipv4.icmp_echo_ignore_all=1' >> /etc/sysctl.conf
sysctl -p 重載信息並更新啟動
如果要恢復:
> /etc/sysctl.conf
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
升級openssl,openssh,bash
1、查看 rpm -qa openssl openssh bash 2、安裝最新版本 yun -y install openssl openssh bash
