檢視系統32位還是64位
[root@i-92x8m5i3 logs]# uname -r
2.6.32-504.16.2.el6.x86_64
[root@i-92x8m5i3 logs]# uname -a
Linux i-92x8m5i3 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@i-92x8m5i3 logs]# ls -d /lib64
/lib64
[root@local-dev ~]# uname -m
x86_64
[root@local-dev ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
配置網路卡
使用setup
命令或編輯/etc/sysconfig/network-scripts/ifcfg-eth0
內容
網路卡配置完成後執行ifup eth0
啟動網路卡ifconfig eth0
檢視獲取的ip
·ping baidu.com· 檢測網路卡是否暢通
儘量不用
/etc/init.d/network restart
重啟網路卡,這會影響物理機上的所有網路卡
[root@localhost ~]# ifdown eth0 && ifup eth0
快速重啟
網路暢通步驟一,檢視網路卡
[root@local-dev ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:50:56:94:6B:B4
inet addr:10.0.1.16 Bcast:10.0.1.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe94:6bb4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9005200 errors:0 dropped:0 overruns:0 frame:0
TX packets:11334373 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1388103677 (1.2 GiB) TX bytes:6820763127 (6.3 GiB)
網路暢通步驟二,檢視預設閘道器
[root@local-dev ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
網路暢通步驟三,檢視dns設定
[root@local-dev ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
在centos6.6中,只在確定的ifcfg-eth0網路卡配置檔案上配置dns,如果在/etc/resolv.conf上配置dns,使用命令
/etc/init.d/network restart
會清除/etc/resolv.conf的dns配置
經過網路暢通三步驟
應該就可以上網了
網路卡的配置檔案
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 # 網路卡名, eth1第二塊網路卡名,以此類推
TYPE=Ethernet # 上網型別,乙太網
UUID=8d6bdf86-1fda-4334-99bb-74b634018e9d # 唯一標誌碼
ONBOOT=yes # 開機自啟動
NM_CONTROLLED=yes # 是否通過NetworkManager管理網路卡裝置
BOOTPROTO=dhcp # 啟動協議,none|bootp|dhcp三種選項
HWADDR=00:0C:29:50:98:80 # 網路卡mac地址
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no # 是否支援IP6
NAME="System eth0"
LAST_CONNECT=1486401226
IPADDR=10.0.1.16 # 固定IP
PREFIX=23
GATEWAY=10.0.0.1
NETMASK=255.255.255.0 #子網掩碼
DNS1=114.114.114.114 # 主DNS,預設會覆蓋/etc/resolv.conf的配置
更新系統,打補丁
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean all
yum makecache
yum update -y # 更新系統,打補丁
安裝額外的工具軟體包
[root@localhost ~]# yum install tree telnet dos2unix sysstat lrzsz nc nmap -y
sysstat包含了iostat(cpu使用率和硬碟吞吐率)、mpstat(單個或多個)處理器相關的資料、sor(收集報告並儲存系統活躍資訊)
yum grouplist
檢視所有包名稱yum groupinstall "Development Tools"
指定包組名安裝,注意需要雙引號
連線不上服務排查
一、檢查物理鏈路是否有問題(客戶端執行)
ping 10.0.0.7 # 排查線路問題
windows:tracert -d 10.0.0.7 # 檢查線路是否暢通 -d 不進行反向解析
linux:traceroute 10.0.0.7 -n
二、服務是否開啟埠(客戶端執行)
telnet 10.0.0.7 22
nmap 10.0.0.7 -p 22 (linux環境,需要安裝)
三、是否防火牆阻擋(服務端執行)
/etc/init.d/iptables status
例如:檢查ssh服務是否開啟
[root@i-92x8m5i3 backend]# ps -ef | grep sshd | grep -v grep
root 1075 1 0 May04 ? 00:00:00 /usr/sbin/sshd
root 2100 1075 0 10:25 ? 00:00:00 sshd: root@pts/2
root 5565 1075 0 12:21 ? 00:00:00 sshd: root@pts/3
root 19821 1075 0 Jun26 ? 00:00:03 sshd: root@pts/0,pts/1
[root@i-92x8m5i3 backend]# netstat -lntup | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1075/sshd
tcp 0 0 :::22 :::* LISTEN 1075/sshd
使用者
[root@local-dev ~]# useradd ljq
[root@local-dev ~]# passwd ljq
Changing password for user ljq.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@local-dev ~]# su - ljq
[ljq@chuangxin ~]$ whoami
ljq
[ljq@chuangxin ~]$ su - root
Password:
一句話完成密碼設定,但是需要該使用者已存在
[root@local-dev ~]# echo “1234” | passwd –stdin ljq && history -c
Changing password for user ljq.
passwd: all authentication tokens updated successfully.
[ljq@chuangxin ~]$ 普通使用者為$美元符號
[root@local-dev ~]# root使用者為#符號
[root@i-92x8m5i3 backend]# whoami # 檢視當前使用者
root
[root@i-92x8m5i3 backend]# hostname # 檢視當前主機名
i-92x8m5i3
[root@local-dev ~]# echo $PS1 #設定PS1變數
[e[37;40m][[e[32;40m]u[e[37;40m]@local-dev [e[35;40m]W[e[0m]]$
安全設定
關閉SELinux
1、修改SELinux配置檔案,使之永遠失效
[root@localhost ~]# sed -i `s/SELINUX=enforcing/SELinux=disabled/` /etc/selinux/config
[root@localhost ~]# grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled
2、結合手動關閉,可避免重啟
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# getenforce
Disabled
設定執行基本為3(文字模式)
[root@localhost ~]# runlevel
N 3
[root@localhost ~]# grep 3:initdefault /etc/inittab
id:3:initdefault:
實現精簡開機
預設啟動只需要開啟如下5種服務即可
-
sshd
-
rsylog 系統的守護程式使用rsylog程式將各種資訊寫到各個系統日誌檔案中
-
network 啟用或關閉各個網路介面
-
crond
-
sysstat 檢測系統效能及執行效率的工具
設定開機自自動項
方式一,執行命令完成設定
執行ntsysv
命令或執行setup命令,選擇system service選項
退出按Tab鍵進行選擇Exit退出
方式二,使用shell完成設定
注意:只查詢3級別的服務項即可
1、先全部關閉,在開啟保留項
# 1、先檢視level 3的服務開關狀況
[root@localhost ~]# LANG=en
[root@localhost ~]# echo $LANG
en
[root@localhost ~]# chkconfig --list
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
#2、關閉後,檢視關閉狀況
[root@localhost ~]# for oldboy in `chkconfig --list|grep 3:on|awk `{print $1}``;do chkconfig --level 3 $oldboy off;done
[root@localhost ~]# chkconfig --list
auditd 0:off 1:off 2:on 3:off 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:off 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:off 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:off 4:on 5:on 6:off
messagebus 0:off 1:off 2:on 3:off 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:off 4:on 5:on 6:off
network 0:off 1:off 2:on 3:off 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:off 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:off 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:off 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:off 4:on 5:on 6:off
# 3、開啟後,檢視開啟狀況
[root@localhost ~]# for oldboy in crond network rsyslog sshd sysstat;do chkconfig --level 3 $oldboy on;done
[root@localhost ~]# chkconfig --list
auditd 0:off 1:off 2:on 3:off 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:off 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:off 4:on 5:on 6:off
messagebus 0:off 1:off 2:on 3:off 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:off 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:off 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:off 4:on 5:on 6:off
2、一條命令shell搞定
預設情況下,需要保留的服務,已經開啟了,只需要把不用的狀態關閉掉即可
[root@localhost ~]# for oldboy in `chkconfig --list | grep "3:on" | awk `{print $1}` | grep -vE "crond|network|sshd|rsyslog|sysstat"`;do chkconfig $oldboy off;done
[root@localhost ~]# chkconfig --list
auditd 0:off 1:off 2:on 3:off 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:off 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:off 4:on 5:on 6:off
messagebus 0:off 1:off 2:on 3:off 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:off 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:off 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:off 3:on 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:off 4:on 5:on 6:off
3、迴圈語句搞定
原理如2,使用命令拼出處理的字串,然後通過bash將其當做命令執行
[root@localhost ~]# chkconfig --list | grep -vE "crond|sshd|network|rsyslog|sysstat" | awk `{print "chkconfig " $1 " off"}` | bash
# 另外一種寫法
[root@localhost ~]# chkconfig --list | grep 3:on | grep -vE "crond|sshd|network|rsyslog|sysstat" | awk `{print $1}` | sed -r `s#(.*)#chkconfig 1 off#g` | bash
上面的操作會把iptables防火牆也關閉掉,當前系統沒有關閉,需要執行
[root@localhost ~]# /etc/init.d/iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [root@localhost ~]# /etc/init.d/iptables stop # 重複執行,確認關閉
修改ssh登入埠
1、改配置檔案方式
2、使用sed命令改
sudo命令控制使用者對系統命令的使用許可權
TBD
Linux中文顯示設定
[root@localhost ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@localhost ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
[root@localhost ~]# echo `LANG="en_us.UTF-8"` > /etc/sysconfig/i18n
[root@localhost ~]# echo $LANG
en_us.UTF-8
[root@localhost ~]# source /etc/sysconfig/i18n # 馬上生效
設定Linux時間同步
TBD
歷史資料history檔案和登入超時設定
TBD
調整Linux檔案描述符數量
TBD
Linux核心引數優化
TBD
定時清理郵件服務臨時目錄垃圾檔案
TBD
隱藏Linux版本資訊顯示
TBD
鎖定關鍵檔案,防止篡改
TBD
清除多餘虛擬賬號
TBD
禁止系統被Ping
TBD
升級具有典型漏洞的軟體版本
TBD
基礎優化與安全
-
不用root登入,使用普通使用者,通過sudo授權
-
更改預設ssh埠,禁止root遠端登入,甚至修改ssh只監聽內網IP
-
定時自動更新系統時間
-
更新yum源
-
關閉SELinux和iptables
-
調整檔案描述符數量。程式及檔案的開啟都會消耗檔案描述符數量
-
定時自動清零郵件臨時目錄,防止磁碟inode數量被小檔案佔滿
-
精簡開機任務(如只保留crond、sshd、network、rsyslog、systat)
-
linux核心優化/etc/sysctl.conf,執行sysctl -p生效
-
更改系統字符集LANG=en_us.UTF-8或LANG=zh_CN.UTF-8
-
鎖定系統關鍵檔案,如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,處理以上內容吧chattr、lsatr改名為oldboy並轉移,這樣就安全多了。
-
清除系統版本資訊,清空或修改/etc/issue、/etc/issue.net,去除登入後的系統資訊顯示
-
清除系統多餘的虛擬使用者賬號