詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

概述

Linux有很多標準化的內容,這裡總結了下用一鍵腳本來設置,下面的命令請看懂後再執行。


Linux自動化部署需求

系統環境標準化

  • 標準化 - 字符集
  • 標準化 - 命令行
  • 標準化 - 內核參數
  • 標準化 - 系統參數

分區標準化

  • 標準化 - 標準化分區

系統配置標準化

  • 標準化 - YUM環境
  • 標準化 - 系統服務
  • 標準化 - 主機名
  • 標準化 - VIM
  • 標準化 - 用戶
  • 標準化 - SSH
  • 標準化 - 時間
  • 標準化 - Selinux
  • 標準化 - 關閉ctrl+alt+del快捷鍵

軟件標準化

  • 標準化 - 基礎軟件包
  • 標準化 - 常用軟件包
  • 標準化 - 設置公鑰

01

系統環境標準化

1、系統環境標準化 - 字符集

需求:字符集設置 en_US.utf8

一鍵優化腳本配置

Centos 7.x

#update system character
localectl set-locale LANG=en_US.utf8
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

注意 Centos 6 和 Centos 7 之間配置的差異

2、系統環境標準化 - 命令行

需求:配置shell,便於定位當前目錄

一鍵優化腳本

#modify PS1
echo 'export PS1="[ \033[01;33m\\u\033[0;36m@\033[01;34m\h \033[01;31m\w\033[0m ]\033[0m \n#"' >> /etc/profile
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

3、系統環境標準化 - 內核參數

需求:優化網卡+優化swap

一鍵優化腳本配置

#tune kernel parametres
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 30
vm.swappiness=10
vm.max_map_count = 262144
EOF
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

4、系統環境標準化 - 系統參數

需求:打開文件描述符

一鍵優化腳本配置

#set the file limit
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏


02

分區標準化

1、分區標準化 - 標準化分區

需求:

  • 虛擬機或服務器
/boot 200M~1G
/swap 1G~8G
/ 剩餘全部
  • Oracle服務器
/boot 200M~1G
/swap >16G
/ 40G
/data(Oracle數據目錄) 剩餘全部

03

系統配置標準化

1、系統配置標準化 - YUM環境

需求:

  • 使用內網YUM源
  • 如無內網YUM源,配置外網YUM源

一鍵優化腳本

假設沒有內網repo,就配置阿里YUM源

#clean OS default repo
mkdir /etc/yum.repos.d/old && mv /etc/yum.repos.d/C* /etc/yum.repos.d/old/
#add repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
function_writelog_judgment "[add aliyun mirrors base]"

2、系統配置標準化 - 系統服務

需求:關閉無用服務

一鍵優化腳本

Centos 7.x

目前無優化方案

Centos 6.x

#set system start service
LANG=en
for chkoff in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $chkoff off;done
for chkoff in crond network rsyslog sshd;do chkconfig --level 3 $chkoff on;done
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

3、系統配置標準化 - VIM

需求:VIM基礎配置,並增加易讀性

一鍵優化腳本(結尾拷貝到普通用戶環境變量)

#modify vimrc
cat >> /root/.vimrc << EOF
syntax enable
syntax on
set ruler
set number
set cursorline
set cursorcolumn
set hlsearch
set incsearch
set ignorecase
set nocompatible
set wildmenu
set paste
set nowrap
set expandtab
set tabstop=2
set shiftwidth=4
set softtabstop=4
set gcr=a:block-blinkon0
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
highlight CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
highlight CursorColumn cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
EOF
cp /root/.vimrc /home/oracle/
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

4、系統配置標準化 - 用戶

需求:

  • 建立日常管理用戶
  • 為用戶設置sudo權限
  • 所有用戶使用相同密碼(無CMDB情況下)
  • 用戶設置強密碼

一鍵優化腳本

#add default user
useradd hwb -u 2019
echo 'hwb@)!&' | passwd --stdin hwb && history -c
#set sudo authority
echo "" >> /etc/sudoers
echo "#set sudo authority" >> /etc/sudoers
echo "hwb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

5、系統配置標準化 - SSH

需求:

  • 禁止Root遠程登錄
  • 關閉DNS解析
  • 不允許空密碼
  • 修改SSH默認端口
  • 關閉GSSAPI校驗

一鍵優化腳本

\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%F`
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
sed -i 's%#PermitRootLogin yes%PermitRootLogin no%g' /etc/ssh/sshd_config
sed -i 's%#PermitEmptyPasswords no%PermitEmptyPasswords no%g' /etc/ssh/sshd_config
#sed -i 's%#Port 22%Port 52020%g' /etc/ssh/sshd_config

6、系統配置標準化 - 時間

需求

  • 所有服務器每分鐘與時間服務器進行同步

一鍵優化腳本

 echo "* 4 * * * /usr/sbin/ntpdate ${ntp_server}> /dev/null 2>&1" >> /var/spool/cron/root

7、系統配置標準化 - Selinux

需求:關閉selinux

一鍵優化腳本

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

8、系統配置標準化 - 關閉ctrl+alt+del快捷鍵

需求:關閉ctrl+alt+del快捷鍵

一鍵優化腳本

centos 7.x

mv /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.bak

centos 6.x

mv /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.conf.bak

04

軟件標準化

1、軟件標準化 - 常用軟件包

需求:安裝常用軟件

一鍵優化腳本

yum -y install ntp wget tree telnet sysstat sysstat iptraf ncurses-devel openssl-devel zlib-devel OpenIPMI-tools nmap screen

2、軟件標準化 - 升級軟件包

需求:升級當前軟件包

一鍵優化腳本

yum -y update

3、配套軟件標準化 - 公鑰(管理機免密鑰)

需求:

  • 設置管理機(Ansible)的公鑰
  • 便於上線後,進行個性化配置(配置文件修改)

一鍵優化腳本

wget http://xx.xx.xx.xx/ansible_key -O /tmp/ansible_key
cat /tmp/ansible_key >> /home/hwb/.ssh/authorized_keys
rm -f /tmp/ansible_key

篇幅有限,這塊就先介紹到這了,如果大家想做公司標準化這一塊,建議還是根據公司實際情況去具體設置,最後再根據需求統一寫成一個shell腳本,這樣一個標準化的腳本就建立起來了。後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注一下~

詳解Linux系統標準化設置--腳本一鍵設置,值得收藏

相關推薦

推薦中...