Centos7 初始化環境搭建
一、主機名配置
在CentOS7中,有三種定義的主機名:
- 靜態的(Static hostname)
“靜態”主機名也稱為核心主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。
- 瞬態的(Tansient hostname)
“瞬態”主機名是在系統執行時臨時分配的主機名,例如,透過DHCP或mDNS伺服器分配。
- 靈活的(Pretty hostname)
“靈活”主機名也有人叫做“別名”主機名。
“靈活”主機名則允許使用自由形式(包括特殊/空白字元)的主機名,以展示給終端使用者(如xh01@f5)。
“靜態”主機名和“瞬態”主機名都遵從作為網際網路域名同樣的字元限制規則。
檢視主機名
--transient | 修改臨時主機名 |
--static | 修改瞬態主機名 |
--pretty | 修改靈活主機名 |
status | 顯示當前主機名設定 |
set-hostname NAME | 設定系統主機名 |
set-icon-name NAME | 為主機設定icon名 |
set-chassis NAME | 設定主機平臺型別名 |
//檢視一下當前主機名的情況
hostnamectl
//或者,檢視全部三種主機名
hostnamectl status
//只檢視靜態、瞬態或靈活主機名,分別使用--static,--transient或--pretty選項
[root@xh00 ~]# hostnamectl --static
[root@xh00 ~]# hostnamectl --transient
[root@xh00 ~]# hostnamectl --pretty
//或者,檢視到的是瞬態的(Tansient hostname)
hostname
//或者檢視主機名配置檔案,檢視到的是靜態的(Static hostname)
cat /etc/hostname
修改主機名
- 臨時生效
hostname XXX //只能臨時修改的主機名,當重啟機器後,主機名稱又變回來了。
- 永久生效
hostnamectl set-hostname xxx //永久性的修改主機名稱,重啟後能保持修改後的
一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以儲存所做的修改,所以你每次在修改主機名後一定要手動更新/etc/hosts,之後再重啟CentOS 7。否則系統再啟動時會很慢。
二、時區配置
timedatectl
# timedatectl # 檢視系統時間方面的各種狀態
Local time: Wed 2020-04-29 10:52:37 CST 當地時間
Universal time: Wed 2020-04-29 02:52:37 UTC 倫敦時間
RTC time: Wed 2020-04-29 02:52:37 硬體時間
Time zone: Asia/Shanghai (CST, +0800) 時區:亞洲上海(東8區)UTC時間加上8等於當前時間
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
timedatectl set-time “2020-04-29 11:30:00” 設定系統時間
timedatectl list-timezones 顯示系統的所有時區
timedatectl set-timezone “Asia/Shanghai” 設定系統時區
timedatectl set-local-rtc 0/1 設定系統時間計算方式,0表示使用utc時間計算方式
1 設定硬體時鐘為本地時間
看當前時間/日期/時區:timedatectl或者timedatectl status
檢視所有可用時區:timedatectl list-timezones
設定時區:timedatectl set-timezone “Asia/Shanghai”
設定時間:timedatectl set-time HH:MM:SS
設定日期:timedatectl set-time YYYY-MM-DD
設定日期時間:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
設定硬體時鐘為本地時間:timedatectl set-local-rtc 1
設定硬體時鐘為UTC時間:timedatectl set-local-rtc 0
啟動NTP時間同步(啟用NTP服務或者Chrony服務):timedatectl set-ntp true
禁用NTP時間同步:timedatectl set-ntp false
三、關閉NetworkManager、防火牆、selinux
systemctl stop NetworkManager | 關閉network管理系統 |
systemctl disable NetworkManage | 開機不啟動 |
systemctl stop firewalld | 臨時關閉防火牆 |
systemctl disable firewalld | 永久防火牆開機自啟動 |
systemctl status firewalld | 檢視防火牆狀態 |
setenforce 0 | 臨時關閉SELinux |
getenforce | 檢視SELinux狀態 |
編輯/etc/selinux/config檔案,將SELINUX的值設定為disabled 永久關閉selinx |
sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config |
四、網路配置
修改網路卡配置檔案 /etc/sysconfig/network-scripts 網路卡名稱
簡單網路卡配置 | |
---|---|
TYPE=Ethernet | |
BOOTPROTO=static | IP地址靜態獲取 |
DEFROUTE=yes | |
DEVICE=eth0 | |
ONBOOT=yes | 開機自啟 |
IPADDR= | IP地址 |
NETMASK=255.255.255.0 | 子網 |
GATEWAY= | |
DNS1= |
重啟網路卡
-
systemctl restart network 重啟所有網路卡
systemctl status network 檢視網路卡狀態
-
單個網路卡關閉、開啟
ifdown eth0 ifup eth0
/etc/resolv.conf DNS配置檔案
五、最佳化YUM源
-
安裝 wget
yum -y install wget yum-utils epel-release
-
備份配置檔案
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
-
下載新的配置檔案
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
-
EPEL源
mv /etc/yum.repos.d/epel.repo etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-
清除並生成快取
yum clean all && yum makecache
六、安裝必要的軟體
yum -y install gcc glibc gcc-c++ make cmake net-tools screen vim lrzsz tree dos2unix lsof tcpdump bash-completion ntp openssl openssl-devel
gcc glibc gcc-c++ make cmake | 編譯器,編譯安裝的時候會用到 |
net-tools | Linux核心中配置網路功能的工具 |
screen | 用於命令列終端切換 |
vim | 編輯器 |
lrzsz | 與windows上傳下載 |
tree | 樹形目錄 |
dos2unix | 格式轉換實用命令 |
lsof | 列出當前系統開啟的檔案 |
tcpdump | 抓包工具 |
bash-completion | 自動補全增強 |
ntp | 同步網路事件 |
psmisc | 幫助管理/proc目錄程式 |
openssl openssl-devel | web安全通訊基石 |
nc | 網路除錯探測工具 |
mtr | 路由分析工具 |
nmap | 埠檢視工具 |
七、sudo使用者制授權
useradd why 建立why使用者
echo "123456" | passwd --stdin why 非互動模式設定why密碼
\cp /etc/sudoers /etc//sudoers.ori 備份sudo配置檔案
echo "why ALL=(ALL)NOPASSWD:ALL" >>/etc/sudoers 修改sudo配置檔案
tail -a /etc/sudoers 檢視修改後的內容
visudo -c 檢查語法錯誤
在實際應用中,因為怕造成難以挽回的失誤,所以儘量會避免root使用者直接操作,為了能讓普通使用者執行特殊命令,就需要對普通使用者sudo授權。sudo的配置檔案是/etc/sudoers,一般是沒有寫許可權的,新增寫許可權之後再修改檔案的內容。最常見的授權方式如下:hh ALL=(ALL) ALL
hh 想要授權的用記 ALL 充許從任何終端使用sudo (ALL) 切換到哪一個使用者執行命令
ALL 允許使用者執行任何命令,如果是多個命,用逗號分開 NOPASSWD 不用輸入密碼
- 示例一 hh ALL=/bin/chmod,/bin/chown
使用者hh就可以在任何機器上,切換到root使用者下執行/bin/chmod和/bin/chown命令,可以用 sudo -l檢視使用者可執行的 sudo命令。
- 示例二 hh ALL=(root)/bin/chmod,/bin/chown
這條語句和示例一產生的效果是一樣的,(user)如果不寫,則預設是root
- 示例三 hh ALL=/usr/sbin/,/sbin/,!/usr/sbin/fdisk
這句話表示hh使用者可以在任何機器上,切換到root使用者,執行/usr/sbin和/sbin目錄下的任何命令,單fdisk除外。
八、同步網路時間
-
安裝ntpdate
yum install ntpdate -y
-
date命令
date 檢視當前時間 date -s '2021-10-29 21:57:00' 設定系統時間 hwclock -w 以系統時間為基準,修改硬體時間 hwclock -s 以硬體時間為基準,修改系統時間
-
ntpdate 命令
ntpdate -u ntp1.aliyun.com 網路時間同步命令
-
加入crontab定時任務
echo "*/20 * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
九、修改ulimit檔案描述符的最大值
[Linux]系統裡開啟檔案描述符的最大值,一般預設值是1024,對一臺繁忙的伺服器來說,這個值偏小,所以有必要重新設定linux系統裡開啟檔案描述符的最大值。那麼應該在哪裡設定呢?
-
永久修改 編輯
/etc/security/limits.conf
root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535
重新登入,不需要重啟,ulimit -a可以看到檔案開啟數已經是65535了
[root@VM-123-187-centos ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 3894 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 #檔案開啟數已經是65534了 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 3894 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
-
臨時修改
[root@VM-123-187-centos ~]# ulimit -n
1024
[root@VM-123-187-centos ~]# ulimit -n 65535
[root@VM-123-187-centos ~]# ulimit -n
65535
十、配置SSH連線
使用Xshell、SecureCRT等工具登入時,發現ssh連線超級慢,解決步驟如下
p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 備份配置檔案
1.su (以root使用者登入)
2.vim /etc/ssh/sshd_config (編輯配置檔案)
3.輸入 /, 查詢GSSAPIAuthentication 賦值為 no(預設為yes)
4.輸入 /, 查詢UseDNS,賦值為 no (該項預設不啟用的,要把前面的#刪除掉)
5.最後輸入!wq儲存檔案並退出
6.systemctl restart sshd