一.systemctl
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),潮州企業(yè)網(wǎng)站建設(shè),潮州品牌網(wǎng)站建設(shè),網(wǎng)站定制,潮州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,潮州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。1.服務器啟動過程
redhat 7以前啟動方式,init: 按順序啟動 1 2 3 4。 啟動慢
redhat 7 systemd:并行化啟動 按依賴關(guān)系啟動。 1 2 3 4(network) 5 6 7 依賴于4則直接不啟動。 啟動快
運行等級
init 0 關(guān)機
1 單用戶模式
2 無網(wǎng)絡(luò)模式
3 無圖形化模式
4 用戶自定義模式
5 GUI
6 reboot
2.systemctl 使用說明
-啟動服務
old: service xxxx start
new: systemctl start xxx.service
systemctl restart xxx.service 服務會瞬斷
systemctl reload xxx.service 服務不會中斷
-設(shè)置開機啟動
old:chkconfig xxx on
new:systemctl enable xxx.service
-顯示當前的運行等級
# systemctl get-default
graphical.target
切換運行等級
systemctl isolate multi-user.target/emergency.target/graphical.target
-總結(jié)
二. SSH
1.SSH概念
shell 每一個用戶都有一個自己的殼包含權(quán)限,個性化設(shè)置,環(huán)境變量等
用戶需要通過shell 才能跟內(nèi)核交互
SSH 就是secure Shell
用戶必須要通過shell來與os內(nèi)核交互
user
-----
shell
-----
kernel
-----
hardware
2.SSH種類
(1).ssh user@ip
不信任方式,服務器將自己的公鑰給客戶端
(2).配置基于秘鑰/公鑰的身份驗證方式
加密方式:
-對稱加密 same key
-非對稱加密 公鑰加密,私鑰解密
信任的方式:客戶端將自己的公鑰發(fā)送給服務器,客戶端的公鑰是受信任的則不需要密碼
(3).配置過程
linux
-ssh-keygens
生成客戶端自己的公鑰和私鑰
-ssh-copy-id -i 指定公鑰 user/hostname --將客戶端公鑰上傳給服務器端
將客戶端公鑰上傳至服務器端
windows
-secureCRT 在客戶端生成公鑰/秘鑰
tool -> create public key
-將公鑰上傳到目標服務器,cat 公鑰 >> ~/.ssh/authorized_keys
3.自定義SSH服務配置
vi /etc/ssh/sshd_config
#LoginGraceTime 2m。 --2分鐘不操作 斷開ssh連接
#PermitRootLogin yes --是否允許root登陸
#StrictModes yes
#MaxAuthTries 6 --允許嘗試登陸的次數(shù)
#MaxSessions 10
#PasswordAuthentication yes --允許密碼登陸
三.Linux日志系統(tǒng)
1.常規(guī)系統(tǒng)日志結(jié)構(gòu)
cd /var/log
messages --通用日志
secure --和安全及身份驗證相關(guān)
maillog --和郵件相關(guān)
cron --計劃任務相關(guān)
boot.log --系統(tǒng)啟動log
2.常規(guī)日志服務配置
(1).日志配置文件
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info 所有類別的info等級以上的日志記錄在messages中。
mail.none mail 類別的日志不記錄
mail.* -/var/log/maillog 異步
(2).日志優(yōu)先集
3.分析一個日志條目
4.系統(tǒng)審查日志systemd journal
(1)
systemd journal 默認情況下存儲在/run/log,系統(tǒng)重新啟動后內(nèi)容會被清除。要求轉(zhuǎn)換角色為rootq進行查看。
-a 所有
-n 5 最后5行
-p 優(yōu)先級(err,info)
-b 啟動消息
-f 監(jiān)控
--since “2014-02-10 20:30:00” --until “2014-02-10 21:30:00” 指定范圍
--since today 顯示今天
-o 更改日志的輸出模式
(2).常用命令
# journalctl --priority err
# journalctl _UID=1000 -n 5
# journalctl --since 13:00:00 --until 14:00:00 _SYSTEMD_UNIT="sshd.service"
(3).永久保存journal日志
[root@rh2 ~]# mkdir -p /var/log/journal
[root@rh2 ~]# chown root:systemd-journal /var/log/journal
[root@rh2 ~]# chmod 2755 /var/log/journal
[root@rh2 ~]# systemctl restart systemd-journald.service
日志將永久保存在/var/log/journal
四.時間
1.時間命令
# timedatectl
Local time: Mon 2018-07-30 14:22:32 CST
Universal time: Mon 2018-07-30 06:22:32 UTC
RTC time: Mon 2018-07-30 06:22:32
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
timedatectl set-time 15:00:00 設(shè)置本地時間
2.ntp
(1).安裝包chrony.x86_64
yum -install -y chrony.x86_64
(2).開啟ntp服務器支持
timedatectl set-ntp true
(3).配置ntp服務器
vi /etc/chrony.conf server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst server ntp3.aliyun.com iburst
(4).重啟服務
systemctl restart chronyd systemctl enable chronyd # timedatectl Local time: Mon 2018-07-30 14:49:16 CST Universal time: Mon 2018-07-30 06:49:16 UTC RTC time: Mon 2018-07-30 06:49:16 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
(5).查看ntp時間狀態(tài)
# chronyc sources -v 210 Number of sources = 2 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^+ 120.25.115.20 2 10 377 643 +4362us[+4362us] +/- 50ms ^* 203.107.6.88 2 10 377 704 -27ms[ -29ms] +/- 68ms
五.網(wǎng)絡(luò)
1.常規(guī)網(wǎng)絡(luò)配置
RHEL6 : network service network restart 管理的是設(shè)備名 ifcfg-設(shè)備名
RHEL7 : NetworkManager --> nmcli 管理的是連接名 ifcfg-連接名
相關(guān)服務:systemctl start NetworkManager
網(wǎng)卡的配置文件: /etc/sysconfig/network-scripts/ifcfg-xxxx
2.nmcli
(1).顯示鏈接名和設(shè)備名
# nmcli connection show NAME UUID TYPE DEVICE Profile 1 105c22e6-d4be-4a1b-978d-a53b81b60d33 802-3-ethernet ens38 ens33 e11de05d-64d8-421e-97f5-bd9cfbc9f647 802-3-ethernet ens33 virbr0 3728e459-2ed5-405b-8f2c-f56c9c22a16d bridge virbr0 eth0 bd139d4f-d603-47a1-8ee6-95f883cddcf2 802-3-ethernet --
(2).查看連接名信息
# nmcli connection show Profile\ 1 connection.id: Profile 1 connection.uuid: 105c22e6-d4be-4a1b-978d-a53b81b60d33 connection.stable-id: -- connection.interface-name: -- connection.type: 802-3-ethernet connection.autoconnect: yes connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.timestamp: 1532948503 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: -1 (default) 802-3-ethernet.port: -- 802-3-ethernet.speed: 0 802-3-ethernet.duplex: -- 802-3-ethernet.auto-negotiate: no 802-3-ethernet.mac-address: -- 802-3-ethernet.cloned-mac-address: -- 802-3-ethernet.generate-mac-address-mask:-- 802-3-ethernet.mac-address-blacklist: -- 802-3-ethernet.mtu: auto 802-3-ethernet.s390-subchannels: -- 802-3-ethernet.s390-nettype: -- 802-3-ethernet.s390-options: -- 802-3-ethernet.wake-on-lan: 1 (default) 802-3-ethernet.wake-on-lan-password: -- ipv4.method: manual ipv4.dns: 114.114.114.114 ipv4.dns-search: -- ipv4.dns-options: (default) ipv4.dns-priority: 0 ipv4.addresses: 192.168.1.100/24, 1.1.1.1/8 ipv4.gateway: 192.168.1.1 ipv4.routes: -- ipv4.route-metric: -1 ipv4.ignore-auto-routes: no ipv4.ignore-auto-dns: no ipv4.dhcp-client-id: -- ipv4.dhcp-timeout: 0 ipv4.dhcp-send-hostname: yes ipv4.dhcp-hostname: -- ipv4.dhcp-fqdn: -- ipv4.never-default: no ipv4.may-fail: yes ipv4.dad-timeout: -1 (default) ipv6.method: auto ipv6.dns: -- ipv6.dns-search: -- ipv6.dns-options: (default) ipv6.dns-priority: 0 ipv6.addresses: -- ipv6.gateway: -- ipv6.routes: -- ipv6.route-metric: -1 ipv6.ignore-auto-routes: no ipv6.ignore-auto-dns: no ipv6.never-default: no ipv6.may-fail: yes ipv6.ip6-privacy: -1 (unknown) ipv6.addr-gen-mode: stable-privacy ipv6.dhcp-send-hostname: yes ipv6.dhcp-hostname: -- ipv6.token: -- proxy.method: none proxy.browser-only: no proxy.pac-url: -- proxy.pac-script: -- GENERAL.NAME: Profile 1 GENERAL.UUID: 105c22e6-d4be-4a1b-978d-a53b81b60d33 GENERAL.DEVICES: ens38 GENERAL.STATE: activated GENERAL.DEFAULT: no GENERAL.DEFAULT6: no GENERAL.VPN: no GENERAL.ZONE: -- GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/224 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/2 GENERAL.SPEC-OBJECT: -- GENERAL.MASTER-PATH: -- IP4.ADDRESS[1]: 1.1.1.1/8 IP4.ADDRESS[2]: 192.168.1.100/24 IP4.GATEWAY: 192.168.1.1 IP4.DNS[1]: 114.114.114.114 IP6.ADDRESS[1]: fe80::f434:5dd6:8419:fc87/64 IP6.GATEWAY: --
(3).創(chuàng)建網(wǎng)絡(luò)連接
# nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 ipv4.gateway xxx ipv4.dns xxx ipv4.method manual connection.autoconnect yes
rhel 7.0 : # nmcli connection modify ens33 ipv4.addresses “192.168.1.100/24 192.168.1.1” ipv4.dns xxx ipv4.method manual connection.autoconnect yes ifname eth0 type ethernet
說明:
ipv4.addresses ip地址
ipv4.gateway 網(wǎng)關(guān)
ipv4.dns dns地址
ipv4.method 靜態(tài)/動態(tài)ip
connection.autoconnect 系統(tǒng)啟動自動連接
ifname 指定硬件設(shè)備名稱
type 網(wǎng)絡(luò)類型
(4).激活連接
# nmcli connection up Profile\ 1
(5).刪除連接
# nmcli connection delete ens33
(6).配置多個ip地址條件
- 第一個ip必須為靜態(tài)ip
- nmcli connection modify Profile\ 1 +ipv4.addresses 1.1.1.1/8
# ip addr
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33:
link/ether 00:50:56:2f:8a:54 brd ff:ff:ff:ff:ff:ff
inet 172.20.10.9/28 brd 172.20.10.15 scope global dynamic ens33
valid_lft 77270sec preferred_lft 77270sec
inet6 fe80::9fbb:474d:f8bb:fcb2/64 scope link
valid_lft forever preferred_lft forever
3: ens38:
link/ether 00:50:56:36:d0:6c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global ens38
valid_lft forever preferred_lft forever
inet 1.1.1.1/8 brd 1.255.255.255 scope global ens38
valid_lft forever preferred_lft forever
inet6 fe80::f434:5dd6:8419:fc87/64 scope link
valid_lft forever preferred_lft forever
4: virbr0:
link/ether 52:54:00:e2:ac:76 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic:
link/ether 52:54:00:e2:ac:76 brd ff:ff:ff:ff:ff:ff
(7).總結(jié)nmcli命令
(8).網(wǎng)絡(luò)圖形化配置工具
nmtui
nm-connection-editor
(9).修改網(wǎng)卡設(shè)備名
/etc/udev/rules.d/70-persistent-ipoib.rules
(10).配置文件結(jié)構(gòu)
3.主機名配置
RHEL6: /etc/sysconfig/network
RHEL7:/etc/hostname
hostnamectl set-hostname hostname
4.DNS配置文件
/etc/resolv.conf
更推薦使用ifcfg-xxx文件進行dns配置
nmcli con mod ID +ipv4.dns IP
5.服務端口配置文件
/etc/services
6.分析路由問題
tracepath IP
7.查看服務所監(jiān)聽的端口情況
# netstat -tunpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1579/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1199/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1200/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1507/master tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::22 :::* LISTEN 1199/sshd tcp6 0 0 ::1:631 :::* LISTEN 1200/cupsd tcp6 0 0 ::1:25 :::* LISTEN 1507/master udp 0 0 0.0.0.0:38435 0.0.0.0:* 807/avahi-daemon: r udp 0 0 192.168.122.1:53 0.0.0.0:* 1579/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 1579/dnsmasq udp 0 0 0.0.0.0:5353 0.0.0.0:* 807/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 54003/chronyd udp6 0 0 ::1:323 :::* 54003/chronyd
六.yum和rpm
1.yum客戶端配置
yum install httpd
systemctl start httpd
systemctl enable httpd
mkdir -p /var/www/html/iso
訪問地址: http://IP/iso
2.yum 客戶端配置
cd /etc/yum.repos.d/
vim aaa.repo
[test]
name=test
baseurl=http://IP/iso
gpgcheck=0 #不啟用秘鑰檢查
enable=1
3.yum 常用命令
yum install -y yum localinstall package_name #使用yum源來解析本地安裝包,來處理該包的依賴關(guān)系。 yum remove #移除軟件包 yum search #按照關(guān)鍵字來搜索 yum provides ls #搜索命令是哪些軟件包提供的 yum reinstall #損壞后重新安裝 yum clean all #軟件包下載錯誤,解析依賴關(guān)系錯誤時,可以將緩存及本地源數(shù)據(jù)清空。 yum repolist #查看可用yum源 yum list #列出當前倉庫中的軟件包信息 yum list installed #列出已經(jīng)安裝的軟件包的情況 yum grouplist #列出包組 yum groupinstall #安裝包組 yum info #查看軟件包的信息 yum update #升級軟件包 yum install http://xxxx/xxx.rpm #在互聯(lián)網(wǎng)中直接安裝package yum-config-manager --add-repo http://xxxx --nogpgcheck #自動生成yum源配置文件
4.使用第三方軟件倉庫(記得要安裝httpd,并啟動服務)
-下載epel安裝包
https://fedoraproject.org/wiki/EPEL
-yum localinstall
# yum localinstall epel-release-latest-7.noarch.rpm
5.rpm
rpm的安裝和管理工具 rpm -ivh #安裝軟件包 rpm -qa #查詢已安裝的軟件包 rpm -ql #查看軟件包安裝路徑 rpm -qf /usr/bin/ls #查詢ls命令是由哪個軟件包提供的 rpm -qc #查詢安裝軟件的配置文件 rpm -qd #查詢安裝軟件的幫助文件 rpm -qi #查詢軟件包中的信息 rpm -e #卸載軟件包 rpm --import #在互聯(lián)網(wǎng)中直接安裝package
七.分區(qū)
1.分區(qū)類型
MBR -> fdisk
每塊盤可以分最多4個 主分區(qū)+擴展分區(qū)。 總共可以分15個分區(qū)(主分區(qū)+擴展分區(qū)+邏輯分區(qū))
GPT -> gdisk
2.fdisk 常用參數(shù)
Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
* partprobe 掃描分區(qū)表,強制內(nèi)核建立設(shè)備文件。多路徑使用kpartx命令。
3.格式化分區(qū)
mkfs.文件系統(tǒng)格式 /dev/sda5
4.swap分區(qū)
(1).流程:fdisk -> mkswap -> swapon -a -> /etc/fstab
需要修改文件系統(tǒng)id號 為82 Command (m for help): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix
(2).查看優(yōu)先級
# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 6168 -1
(3).設(shè)置優(yōu)先級fstab
/dev/mapper/rhel-swap swap swap defaults,pri=2 0 0
八.RHEL引導過程控制和故障排除
1.系統(tǒng)加載模式
2.切換系統(tǒng)加載模式
# systemctl isolate multi-user.target
3.配置默認加載模式
# systemctl get-default
# systemctl set-default graphical.target
4.在啟動時更改加載模式
選擇一個不同目標的RHEL7 系統(tǒng)使用以下過程:
1、重新啟動系統(tǒng)
2、按任何鍵打斷引導加載程序菜單開始倒計時
3、將光標移動到要啟動的項
4、按 e 鍵編輯當前條目
5、將光標移動到該以 linux16 開頭的行
6、追加 systemd.unit=desired.target (內(nèi)核傳導)
7、按 Ctrl + x 來啟動這些更改
5.修改root密碼
參考:http://blog.itpub.net/15412087/viewspace-2168822/
6./bin/bash丟失問題恢復
參考:http://blog.itpub.net/15412087/viewspace-2168823/
7.引導區(qū)恢復
網(wǎng)址
8.使用journalctl查看啟動日志
# journalctl -b -1 -p err
九.防火墻
1.種類
RHEL6:iptables 沒有明確的拒絕,就是允許。
RHEL7:firewalld 沒有明確的允許,就是拒絕。 默認只有22端口和dhcp可用。
二者任選其一。
2.GUI配置工具
firewall-config
# firewall-config
(firewall-config:2734): Gtk-WARNING **: cannot open display:
十.其他小工具
1.rsync
-全備份
rsync -av test1/ test2/ #第一次做為全備份
-增量備份
rsync -av test1/ test2/ #第二次做為增量備份
-差異備份
rsync -av --delete test1/ test2/
rsync -avP 同步所有的屬性,顯示完整的進度
2.winscp