001、Linux系統安裝後的調優及相關配置

整體規劃遵從最小化原則,具體包括:系統安裝最小化、YUM安裝軟件包最小化、開機自啓動服務最小化、操作命令最小化、登錄系統用戶最小化、普通用戶權限最小化、系統文件及目錄權限最小化!

1、修改用戶密碼

# echo "centos" |passwd --stdin root && history -c

2、清空iptables

企業中一般配置外網IP的Linux服務器才需要開啓防火牆,但針對有外網IP的高併發、高流量業務服務器不建議開啓防火牆,這樣會有較大的性能損失、導致訪問速度很慢,建議使用硬件防火牆!

# iptables -F
# /etc/init.d/iptables save
# /etc/init.d/iptables stop
# chkconfig iptables off

3、SELinux設置

SELinux爲Security-Enhanced Linux簡稱,實際生產環境中根據情況開啓,以下爲關閉設置。

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config //重啓後永久生效
# setenforce 0 //臨時設置selinux,避免業務主機重啓
# getenforce //查看selinux狀態

4、配置靜態IP

方法一:圖形界面配置方式

# setup 

方法二:修改配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

注意:在虛擬機克隆後,出現網卡MAC地址一致、UUID、網卡名稱命名等問題的解決辦法。

# rm -rf /etc/udev/rules.d/70-persistent-net.rules 

5、配置主機和IP映射關係

# vim /etc/hosts
  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  192.168.1.63 demo63.cn server01
  192.168.1.64 demo64.cn client01

6、修改主機名

# vim /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=demo63.cn
  NTPSERVERARGS=iburst 
# hostname 
  demo63.cn

7、配置yum源

方法一:配置本地yum源

# mount /dev/sr0 /mnt/
# echo "/dev/sr0 /mnt iso9660 defaults 0 0" >> /etc/fstab
# rm -rf /etc/yum.repos.d/*
# cat > /etc/yum.repos.d/rhel6.repo <<EOF
> [rhel6-source]
> name=rhel6-source
> baseurl=file:///mnt
> enabled=1
> gpgcheck=0
> EOF

方法二:配置網絡yum源

# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# sed -i 's/$releasever/6.9/g' /etc/yum.repos.d/CentOS-Base.repo 
# yum clean all
# yum repolist all
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

注意:

a)如下爲實際生產中比較有用的軟件包,建議安裝。

# yum install tree telnet dos2unix sysstat lrzsz nc nmap -y 

b)如系統沒有安裝YUM軟件,可採用rpm安裝方式。

# rpm -qa |grep yum
# rpm -qa|grep yum|xargs rpm -e --nodeps //不檢查依賴,直接刪除rpm包
# wget -O /test/yum-3.2.29-81.el6.centos.noarch.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
# wget -O /test/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
# wget -O /test/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
# rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

8、修改運行級別

# vim /etc/inittab
  id:3: initdefault://級別3,即爲文本模式,更改配置文件永久生效
# runlevel  //查看運行級別
# init0   //關機(init5圖形模式、init6重啓)

9、精簡開機系統自啓動

企業生產環境中建議保留的五個服務,包括sshd(遠程連接使用的服務)、rsyslog(記錄日誌時,系統調用的守護進程,CentOS6版本之前服務名爲syslog)、network(激活/關閉網絡接口時使用的服務)、crond(週期性執行系統或用戶配置的任務時使用的服務)、sysstat(該服務用於監測系統性能及效率)。

方法一:調用圖形化界面
在選擇要啓用的服務時,可採用# setup->system service,也可直接命令調用,具體如下:

# ntsysv 

方法二:執行命令

# chkconfig --list |grep 3:on |grep -vE "crond|network|rsyslog|sshd|sysstat" |awk '{print “chkconfig ”$1 " off"}' |bash

或者

# chkconfig --list |grep 3:on |grep -vE "crond|network|rsyslog|sshd|sysstat" |awk '{print $1}' |sed -r 's#(.*)#chkconfig \1 off#g'|bash //注意藍色處格式中無空格

方法三:執行腳本

# LANG=en //調整爲英文字符集,方便過濾中文字符串
# chkconfig --list |grep 3:on //查看級別3上開啓的服務
# vim service-off.sh //執行腳本關閉不必要服務

a) Shell腳本一:

#!/bin/bash
LANG=en
for name in `chkconfig --list |grep 3:on |awk '{print $1}'`;
do chkconfig --level 3 $name off;
done
for name in crond network rsyslog sshd sysstat;
do chkconfig --level 3 $name on;
done
chkconfig --list |grep 3:on

b) Shell腳本二:(默認情況下級別3文本模式都是開啓的狀態)

#!/bin/bash
LANG=en
for name in `chkconfig --list |grep 3:on |awk '{print $1}' |grep -vE "crond|network|rsyslog|sshd|sysstat" `;
do chkconfig --level 3 $name off;
done
chkconfig --list |grep 3:on

執行腳本:

# chmod +x service-off.sh
# . /service-off.sh

10、遠程登錄配置

實際生產環境中,建議隱藏或更改默認ssh遠程連接端口!

# cp -a /etc/ssh/sshd_config{,.`date +"%F%H%M%S"`}

方法一:修改配置文件

# vim /etc/ssh/sshd_config
Port 2233   //sshd服務端口號
PermitRootLogin no  //是否允許root登錄
PermitEmptyPasswords no //是否允許密碼爲空的用戶登錄
UseDNS no   //sshd是否對遠程主機名進行反向解析
GSSAPIAuthentication no //解決Linux之間使用ssh遠程連接慢的問題

方法二:通過sed快速修改增加內容

# sed -ir '13 iPort 2233\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config
# sed -n '13,17p' /etc/ssh/sshd_config
# /etc/init.d/sshd reload   //平滑重啓,不影響正在SSH連接的其他用戶
# /etc/init.d/sshd restart   //注意與reload區分

11、sudo提權配置

# cp -a /etc/sudoers{,.`date +"%F%H%M%S"`}
# echo "admin1 ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers
# tail -5 /etc/sudoers

使用如下命令可以直接修改配置文件:

# visudo  
# visudo -c  //對修改的配置文件做語法檢查

12、中文顯示設置

實際生產環境中,建議使用英文顯示設置。

# cp -a /etc/sysconfig/i18n{,.`date +"%F%H%M%S"`}
# echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
# source /etc/sysconfig/i18n //使修改的配置文件生效
# echo $LANG

13、設置時間同步任務

# echo '# Time sync by Jerome at 2017-6-8 ' >> /var/spool/cron/root
# echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1' >> /var/spool/cron/root
# crontab -l   //查看定時任務
# crontab -e   //進行定時任務編輯

14、部分環境變量的設置

對配置文件/etc/profile進行修改爲全局修改。

# echo 'export TMOUT=300' >> /etc/profile  //設置賬號超時時間
# echo 'export HISTSIZE=5' >> /etc/profile //設置命令行歷史記錄數
# echo 'export HISTFILESIZE=5' >> /etc/profile //設置歷史文件記錄數量
# source /etc/profile
# tail -3 /etc/profile

15、調整文件描述符數量

文件描述符是由無符號整數表示的句柄,進程使用它來標識打開的文件。

# ulimit -n

方法一:

# cp -a /etc/security/limits.conf{,.`date +"%F%H%M%S"`}
# echo '* - nofile 65535' >> /etc/security/limits.conf
# tail -1 /etc/security/limits.conf

方法二:

# cp -a /etc/rc.local{,.`date +"%F%H%M%S"`}
# cat >> /etc/rc.local <<EOF
# -S use the 'soft' resource limit
# -H use the 'hard' resource limit
# -n the maximum number of open file descriptors
  ulimit -HSn 65535
# -s the maximum stack size
  ulimit -s 65535
EOF

16、定時清理郵件服務臨時目錄垃圾文件

# vim /scripts/del_temp_mail.sh 

腳本內容:

#! /bin/bash
find /var/spool/postfix/maildrop/ -type f|xargs rm -f 

執行腳本:

# chmod +x /scripts/del_temp_mail.sh
# . /scripts/del_temp_mail.sh

設置定時任務:

# echo '00 00 * * * /bin/sh /scripts/del_temp_mail.sh > /dev/null 2>&1' >>/var/spool/cron/root
# crontab -l 
# df -i  //查看磁盤inode總量、剩餘量、使用量

17、隱藏Linux版本信息

# >/etc/issue
# >/etc/issue.net
# cat /etc/issue
# cat /etc/issue.net

18、鎖定系統關鍵文件

# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
# lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

19、爲grub菜單加密

# /sbin/grub-md5-crypt
# cp -a /etc/grub.conf{,.`date +"%F%H%M%S"`}
# vim /etc/grub.conf

注意:password 最好加在splashimage和title之間,否則可能無法生效,設置完成後,在下次需要管理grub時,會有輸入密碼提示。

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