linux基礎優化

linux基礎優化:
1、關閉selinux

臨時:
[root@huang ~]# getenforce
Enforcing
[root@huang ~]# setenforce 0
[root@huang ~]# getenforce
Permissive
[root@huang ~]#

永久:

# sed -i 's#enforcing#disabled#g' /etc/selinux/config

2、系統默認級別

[root@huang ~]# tail -n 1 /etc/inittab
id:3:initdefault:
[root@huang ~]#rulevel  //也可查看當前級別

3、精簡開機啓動項
需開機啓動如下服務,剩下全部關閉
sshd  遠程連接服務
rsyslog 日誌服務
network 網絡服務
crond 定時任務
sysstat 監控系統的負載記錄(isostat 提供cpu使用率和硬盤的吞吐率  mpstat提供單個或多個處理器相關數據 sar負責收集,報告並存儲系統活躍的信息)
方法:

for i in `chkconfig --list|grep -vE "(crond|sshd|network|rsyslog|sysstat)"|awk '{print $1}'`;do chkconfig $i off;done

4、關閉防火牆(學習環境使用)

# service iptables stop
#iptables -F //清空防火牆
# service iptables save

5、設置顯示語言

[root@huang ~]# echo $LANG
en_US.UTF-8
[root@huang ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"     #英文
或
LANG="zh_CN.UTF-8"     #中文
SYSFONT="latarcyrheb-sun16"
[root@huang ~]#

6、時間同步
設置開機自動校時和定時校時。
開機校時,寫在/etc/rc.local裏。
定時校時,crontab –e進行編輯修改。
校時命令
ntpdate 時間服務器地址

[root@study ~]# ntpdate asia.pool.ntp.org
[root@study ~]# crontab -l
59 23 * * * /usr/sbin/ntpdate asia.pool.ntp.org && /usr/sbin/hwclock -w
[root@study ~]#


7、解決ssh連接慢的問題
注:建議先備份文件

# vim /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
# /etc/init.d/sshd reload   #平滑重啓


8、常用變量設置
# TMOUT=20    #回話超時時間
# HISTSIZE=5   #記錄的歷史命令的個數
# HISTFILESIZE=20   #記錄歷史命令的行數
永久生效:
把以上命令寫入 /etc/profile後

# source /etc/profile   #永久生效


9、調整linux系統文件描述符數量
說明:對於高併發業務來說,默認值是不夠的

[root@huang ~]# ulimit -n
1024
調整方法:
[root@huang ~]# echo "*               -       nofile          65535"  >>/etc/security/limits.conf

退出系統後再登錄即可生效


10、內核優化
注:適應於大部分web生產環境

net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max=65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384

11、定時清理服務器臨時目錄垃圾文件

[root@huang ~]# find /var/spool/postfix/maildrop/ -type f |xargs rm -f

寫腳本,定時清理:

[root@huang ~]# mkdir -p /server/scripts
[root@huang ~]# echo "find /var/spool/postfix/maildrop/ -type f |xargs rm -f" >> /server/scripts/del_file.sh
[root@huang ~]# echo "00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1" >>/var/spool/cron/root
[root@huang ~]# crontab -l
00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1
[root@huang ~]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda2      1234576 69428 1165148    6% /
tmpfs           125514     1  125513    1% /dev/shm
/dev/sda1        51200    44   51156    1% /boot
[root@huang ~]#


12、隱藏linx版本信息顯示
注:清空這兩個文件內容即可

[root@huang ~]# cat /etc/issueCentOS
 release 6.9 (Final)Kernel \r on an \m
[root@huang ~]# cat /etc/issue.netCentOS
 release 6.9 (Final)Kernel \r on an \m


13、鎖定系統文件

[root@huang ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
注:鎖定後所有用戶都不能對文件修改刪除
如果想更加安全可以把chattr命令改名
[root@huang ~]# mv /usr/bin/chattr /usr/bin/yanqi01

#######################################解鎖如果失敗,可以嘗試使用下列方法################################
1、執行chattr 
#chattr -i  /etc/passwd
# lsattr -v /etc/passwd 
2095582053 ------------- /etc/passwd
# chattr -i  /etc/shadow
8、同步文件
pwconv


14、清空虛擬帳號
看老男孩的書籍或博客,不是必須的


15、通過防火牆設定指定的IP可以ping服務器

# iptables -t filter -I INPUT -p icmp --icmp-type 8 -i eth0 -s 10.0.0.0/24 -j ACCEPT


16、升級典型漏洞的軟件版本

openssh5.3有漏洞建議升級到最新版本

[root@localhost ~]# rpm -qa openssl openssh bash
bash-4.1.2-40.el6.x86_64
openssl-1.0.1e-48.el6.x86_64
openssh-5.3p1-117.el6.x86_64
[root@localhost ~]# yum -y install openssl openssh bash 
[root@localhost ~]# rpm -qa openssl openssh bash
bash-4.1.2-48.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
openssh-5.3p1-123.el6_9.x86_64
[root@localhost ~]#


17、變量的設置 

1、打開文本默認顯示行號    
  centos 編輯/etc/vimrc   在最後一行添加set nu   保存退出
  
2、詳細記錄操作命令執行時間和帳號     
 [root@huang ~]# cat /etc/profile
 export HISTTIMEFORMAT="%F %T `whoami` "     #最後添加一行,保存退出。
 
3、grep篩選文件顯示顏色
vim /etc/bashrc  #編輯該文件,在最後一行添加:
export GREP_OPTIONS='--color=auto' GREP_COLOR='31'
export PS1="\[\e[32;1m\][\u@\H \W]#\[\e[0m\]"   #藍色顯示主機名
export PS1="[\u@\H \W]#"   #顯示主機全名

保存後使用以下命令生效 
source /etc/bashrc


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章