Linux 学习笔记 三
Llinux上的日志系統(tǒng)
syslog
syslog-ng ?next generation?
syslog 服務(wù):
syslogd:系統(tǒng):非內(nèi)核系統(tǒng)產(chǎn)生的信息
klogd:內(nèi)核:專門負(fù)責(zé)記錄內(nèi)核產(chǎn)生的信息
配置文件:/etc/syslog.conf
kernel---物理終端(/dev/console)--/var/log/dmesg
dmesg 查看
cat /var/log/dmesg
日志需要滾動(dòng):日志滾動(dòng)的過程也叫日志切割
messages;messages.1;message.2
/sbin/init/
/var/log/messages:系統(tǒng)標(biāo)準(zhǔn)錯(cuò)誤日志信息,非內(nèi)核產(chǎn)生的引導(dǎo)信息,各子系統(tǒng)產(chǎn)生的信息.
/var/log/maillog:郵件系統(tǒng)產(chǎn)生的日志信息
/var/log/secure:安全日志信息
日志系統(tǒng):syslog
信息的詳細(xì)程度:日志級別
記錄級別
debug:調(diào)試信息
info:一般信息
notice:不影響正常的需注意信息
warning:可能影響系統(tǒng)的提醒用戶的信息
error:錯(cuò)誤信息
crit:比較嚴(yán)重的
alert:需要馬上處理的
emergency/panic:導(dǎo)致系統(tǒng)不可用的
*:全部
none:全否
子系統(tǒng):facility 設(shè)施
action:
系統(tǒng)上的絕對路徑 普通文件
| 管道
終端 /dev/console
@HOST 遠(yuǎn)程主機(jī),日志服務(wù)器
用戶 root
* 所有用戶
/etc/sysconfig/syslog 中 增加 SYSLOGD_OPTIONS="-m 0" -r
即可充當(dāng)日志服務(wù)器,接受發(fā)來的日志信息
telnet:遠(yuǎn)程登錄協(xié)議 ,TCP:23
C/S
S:telnet服務(wù)端
C:telnet客戶端
ssh:secrue shell 應(yīng)用層協(xié)議 TCP:22
通信和認(rèn)證過程都是加密的,主機(jī)認(rèn)證
用戶認(rèn)證過程加密
數(shù)據(jù)傳輸過程加密
通訊過程,客戶端發(fā)送連接請求給服務(wù)器---服務(wù)器發(fā)送公鑰給客戶端---
客戶端接受公鑰---生成公共秘鑰給服務(wù)器---發(fā)送以公共秘鑰加密的用戶名給服務(wù)器
服務(wù)器通過后要求進(jìn)一步密碼---客戶端發(fā)送以公共秘鑰的密碼給服務(wù)器---
服務(wù)器通過建立連接,雙方使用公共秘鑰進(jìn)行加密通訊.
?
ssh V1 V2
man inmiddle 中間人*** V1不安全
建議使用V2
ssh V2
認(rèn)證過程:
基于口令認(rèn)證
基于秘鑰認(rèn)證
協(xié)議:就是規(guī)范
實(shí)現(xiàn):服務(wù)端和客戶端
Linux :openssh
C/S
服務(wù)器:sshd ?配置文件:/etc/ssh/sshd.conf
客戶端:ssh 配置文件:/etc/ssh/ssh.conf
ssh-keygen:秘鑰生成器
ssh-copy-id :將公鑰傳輸至遠(yuǎn)程服務(wù)器
scp:跨主機(jī)安全復(fù)制工具
ssh:
ssh 用戶名@主機(jī)
ssh -l 用戶名 主機(jī)
ssh 用戶名@主機(jī) `命令`
ssh -p 指定端口
scp:
scp 源 目標(biāo)?
-r
-a
scp 用戶名@主機(jī):/路徑/文件 ?/本地路徑/本來文件
ssh-keygen?
-t rsa| dsa
~/.ssh/id_rsa 私鑰
~/.ssh/id_rsa.pub 公鑰
-f:指定文件位置
-P '': 指定加密秘鑰的密碼為空
將公鑰追加保存到遠(yuǎn)程主機(jī)某用戶的家目錄下.ssh/autorized_keys文件或者.ssh/autorized_keys2文家中
ssh-copy-id -i?
ssh-copy-id -i 本機(jī)公鑰 遠(yuǎn)程用戶@遠(yuǎn)程主機(jī)
總結(jié):
密碼應(yīng)該經(jīng)常換
使用非默認(rèn)端口
限制管理地址
禁止管理員直接登錄
僅允許有限制用戶登錄
使用基于秘鑰的認(rèn)證
禁止使用版本1
dropbear:嵌入式系統(tǒng)專用的SSH服務(wù)器和客戶端工具
服務(wù)器端:dropbear ?
dropbearkey
主機(jī)秘鑰默認(rèn)位置:/etc/dropbear/
rsa:dropbear_rsa_host_key
長度可以指定,8的整數(shù)倍,默認(rèn)1024
dss:dropbear_dss_host_key
長度固定,默認(rèn)1024
客戶端:dbclient
dropbear默認(rèn)使用nsswitch實(shí)現(xiàn)名稱解析
/etc/nsswitch.conf
/lib/libnss_file*
/usr/lib/libness3.so
/usr/lib/libnss_file*
dropbear會(huì)在用戶登錄時(shí)其默認(rèn)shell是否當(dāng)前系統(tǒng)的安全shell
/etc/shells
dropbearkey
-t rsa
-f 文件位置
-s size
?MBR
/boot/grub
系統(tǒng)安裝過程
anaconda:stage2.img
test,GUI
kickstart:三部分
命令段:
必備命令
keyboard --us
lang
timezone
rootpw
authconfig --useshadow
bootloader ?--location
clearpart --initlabel 初始化磁盤分區(qū)表 --linux 刪除舊的linux分區(qū)
dirverdisk --source 位于網(wǎng)絡(luò)的驅(qū)動(dòng)程序
firewall --enable|disabled 是否啟用防火墻
firstboot --disabled 第一次啟動(dòng)時(shí)是否需要配置
test 文本安裝
graphical 圖形安裝
key --skip
可選命令
軟件包選擇段: %packages
腳本段:
預(yù)安裝腳本%pre
后安裝腳本%post
ks=kickstart文件的位置
ks=http://
ks=cdrom:/
安裝過程中,boot提示符中可以使用的命令
?linux 后跟
askmothed 詢問安裝的源介質(zhì)
dd 安裝的路徑
ip= 地址或者 dhcp
netmask= 子網(wǎng)掩碼
gateway= 網(wǎng)關(guān)
dns= DNS服務(wù)器 多個(gè)用;隔開
mediacheck=no ?不檢查光盤
nonet 不啟用光盤
noprobe 不裝載特殊硬件設(shè)備
rescue 進(jìn)入緊急救援模式
locale -a 查看本地可現(xiàn)實(shí)語言
mkisofs 創(chuàng)建鏡像文件?
常見的系統(tǒng)故障排除:
1.驅(qū)動(dòng)問題特征
2.重現(xiàn)故障
3.使用工具收集進(jìn)一步信息
4.排除不可能的原因
5.定位故障:
從簡單的問題入手
一次嘗試一種方式
備份原文件
盡可能借助于工具
可能出現(xiàn)的故障:
1.管理員密碼忘記
2.系統(tǒng)無法啟動(dòng)
a,grub損毀(MBR損壞,grub配置文件丟失,stage2文件損壞)
mbr損壞
1.借助別的主機(jī)重寫grub
2.使用緊急救援模式:
a. boot.iso
b. 使用系統(tǒng)光盤
boot: linux rescue 緊急模式
只讀方式掛載根目錄/mnt/sysp_w_picpath?
mknod手動(dòng)創(chuàng)建設(shè)備文件
grub 配置文件丟失:
grub>root hd(0,0)
kernel /vmlinuz ro root=/dev/hda0 zhgb quit
initrd /initrd
boot
b,系統(tǒng)初始化故障,(文件系統(tǒng)無法正常掛載,驅(qū)動(dòng)無法正常加載)
進(jìn)入gurb編輯模式
emergency 不加載rc.sysinit 腳本
c,服務(wù)故障
某個(gè)服務(wù)導(dǎo)致啟動(dòng)失敗 如: sendmail 配置文件時(shí)間戳檢查無法通過 ?
啟動(dòng)時(shí) ?使用I鍵進(jìn)入交互模式,手動(dòng)啟動(dòng)所有服務(wù)
rc.local 腳本語法或者邏輯錯(cuò)誤: 進(jìn)入單用戶模式修復(fù)
d,用戶無法登陸系統(tǒng)(bash程序故障)
bash被刪后 ,進(jìn)入緊急救援模式 , 掛載安裝光盤/dev/hdc 至/media
從Server中 用rpm --replacepkgs 重裝 --root /mnt/sysp_w_picpath 指定安裝的根目錄 bash包的名字?
3.命令無法運(yùn)行
PATH被定義錯(cuò)誤 export PATH=/database
或者在沒有修改配置文件的情況下,重新登錄shell
4.編譯過程無法繼續(xù)(開發(fā)環(huán)境缺少基本組件)
mbr損壞
1.借助別的主機(jī)重寫grub
2.使用緊急救援模式:
a. boot.iso
b. 使用系統(tǒng)光盤
boot: linux rescue 緊急模式
只讀方式掛載根目錄/mnt/sysp_w_picpath?
mknod手動(dòng)創(chuàng)建設(shè)備文件
grub 配置文件丟失:
grub>root hd(0,0)
kernel /vmlinuz ro root=/dev/hda0 zhgb quit
initrd /initrd
boot
kernel panic 內(nèi)核恐慌
把默認(rèn)級別設(shè)置成0或者6 ?進(jìn)入單用戶模式 ,編輯inittab文件
/etc/rc.d/rc3.d 目錄被誤刪 ?進(jìn)入單用戶模式,修復(fù)目錄系統(tǒng)
svn,git 版本控制軟件
50臺(tái)服務(wù)器:
網(wǎng)絡(luò)
用戶
linux root
sudo 命令
定義某個(gè)用戶以另外一個(gè)用戶的身份,通過哪些主機(jī)執(zhí)行什么命令
sudo配置文件
/etc/sudoers 文件屬性 440?
visudo 專門編輯sudoers的文件
visduo -f 指定編輯的文件
一個(gè)sudo條目
who which host ?run as ?tag:command
誰 ? 那臺(tái)主機(jī) ? 哪個(gè)身份 ?命令
別名:定義組
who User_Alias
which host Host_Alias
runas Runas_Alias
command Cmnd_Alias
別名只能全部使用大寫英文字母的組合
用戶別名?
User_Alias USERADMIN =
用戶的用戶名
組名,使用%引導(dǎo)
還可以包含其他已經(jīng)定義好的別名,可以嵌套
主機(jī)別名
Host_Ailas?
主機(jī)名
ip
網(wǎng)絡(luò)地址
其他主機(jī)名
也可以嵌套
指定用戶
Runas_Alias
用戶名
%組名
其他的runas 可以嵌套
命令別名
Cmnd_Alias
命名路徑
可以是目錄(此目錄內(nèi)的所有命令)
其他已經(jīng)定義的命令別名 可以嵌套
tag:標(biāo)簽,
NOPASSWD 可以不輸入密碼
PASSWD 強(qiáng)制需要輸入密碼
hadoop root useradd usermod
5分鐘內(nèi)不需要重復(fù)輸入密碼
sudo -k 每次都需要輸入密碼
sudo -l 顯示可以使用的所有命令
! 命令,可以排除不允許執(zhí)行的命令
TCP/IP:安全
明文傳輸(ftp,http,smtp,telnet)?
機(jī)密性:明文---轉(zhuǎn)換規(guī)則---譯文
? 譯文---轉(zhuǎn)換規(guī)則---原文
轉(zhuǎn)換算法:秘鑰
對稱加密:算法不同,秘鑰相同,速度較快
??
完整性:
? 單向加密算法,提取數(shù)據(jù)特征碼
? 輸入一樣,輸出必然相同
? 雪崩效應(yīng),輸入的細(xì)小改變,引起輸出的巨大改變
? 定長輸出,無論元數(shù)據(jù)多大,結(jié)果大小都是相同的
? 不可逆
? 明文+特征碼----
? 協(xié)商生成密碼:秘鑰交換 internet key exchange IKE
? Diffle-Hellman協(xié)議
? 2個(gè)人發(fā)明的
? A---B
? p,g(大素?cái)?shù),生成數(shù))
? A:X
? B:Y
? A:g的X次方取模P ? 發(fā)給B
? B:g的Y次方取模P ? 發(fā)給A
??
? g,p,g^x%p,g^y%p
??
? A:(g^y%p)^x= g^xy%p
? B:(g^x%p)^y= g^xy%p
? 秘鑰交換算法 ?上面就是秘鑰
??
? 公鑰加密算法
??
? 密鑰對:
公鑰:P
私鑰:S
發(fā)送方用自己的私鑰加密數(shù)據(jù),可以實(shí)現(xiàn)身份驗(yàn)證
發(fā)送方用對方的公鑰加密數(shù)據(jù),可以實(shí)現(xiàn)數(shù)據(jù)機(jī)密性
公鑰加密算法很少用來加密數(shù)據(jù),速度太慢,比對稱加密相差3個(gè)數(shù)量級速度,1:1000
PKI public key instructure
CA : certificate authority
CRL 證書吊銷列表 certification rework list?
常用證書格式:X509,PKSC12
X509:
公鑰,有效期限
證書合法擁有者
屬主如何被使用
CA的信息
CA簽名的效驗(yàn)碼
TLS/SSL:X509
OPENGPG:
SSL: secure socket layer 安全套接字層 ?只是一種庫
SSL V2 , V3
TLS: transport layer security
V1
SSL V3 基本等于 TLS V1
對稱加密:
DES: data encryption standard 56bit
3DES:3次 DES?
AES:advance encrypttion standard 128bit
AES 192
AES 256
AES 512
openssl:
組件
libcrypto 通用加密庫
libssl tls/ssl 的實(shí)現(xiàn)
基于會(huì)話的,實(shí)現(xiàn)了身份認(rèn)證/數(shù)據(jù)機(jī)密性/會(huì)話完整性的庫
openssl 多用途命令行工具
實(shí)現(xiàn)私有證書頒發(fā)機(jī)構(gòu)
openssl enc 加密
openssl dgst 生成校驗(yàn)碼
openssl 實(shí)現(xiàn)私有CA
1.先生成一對秘鑰
2.生成自簽署的證書
生成秘鑰 openssl genras -out filename 密碼位數(shù)
輸出公鑰 openssl ras -in 私鑰文件 -pubout?
/etc/pki/tls/certs 中可以用make 生成測試證書,秘鑰,申請 ,可以查看makefile文件,根據(jù)后綴名區(qū)分
gpg:
單向加密:
MD4
MD5
SHA1
SHA192
CRC-32 冗余校驗(yàn)
公鑰加密:加密和簽名
身份認(rèn)證(數(shù)字簽名)
數(shù)據(jù)加密
秘鑰交換
RSA:加密,簽名
DSA:簽名
elgamal
DNS:域名解析
BIND berkeley internet name domain
HTTP:http協(xié)議,Apache,LAMP,nginx(engin x),lenp,mysql,php,varnish
CDN:DNS(VIEW),VARNISH
file server ,nfs,smb,cifs,ftp
netfilter iptables(filter,nat,mangie,raw) tcp wrapper
nsswtch,framework,platform,PAM
smtp,pop3,imap,
selinux security enhance linux 安全加強(qiáng)的linux
C2---selinx---B1
DNS:domain name services
域名,
www.163.com 主機(jī)名 FQDN (full qualified domain name) ?完全限定域名
163.com 域名
.com 域名
FQDN---IP 相互轉(zhuǎn)換 DNS服務(wù)
stub resolver 末節(jié)解析器
IANA:ip,FQDN,
ICANN:
1.周期性人物
2.server
3.分布式數(shù)據(jù)庫
. 根域
TOD:TOP LEVEL DOMAIN
組織域:.com .org .net .cc
國家域:.cn .tw .jp
反向域: IP - FQDN
一個(gè) IP 對應(yīng)多個(gè) FQDN
一個(gè) FQDN 也可以對應(yīng)多個(gè) IP ?
查詢 :遞歸:只發(fā)出一次請求
?迭代:發(fā)出多次請求
?
DNS 分布式數(shù)據(jù)庫
上級僅知道其直接下級
下級僅知道根的位置
DNS服務(wù)器:?
接受本地服務(wù)端查詢請求 遞歸
接受外部客戶端請求 ?請求權(quán)威答案,
肯定答案 TTL
否定答案 TTL
外部客戶端請求非權(quán)威答案
根服務(wù)器,
a.root-server.net ? a 到 m ?一共13臺(tái)
主,從 結(jié)構(gòu)
主DNS服務(wù)器 , 數(shù)據(jù)修改
輔助DNS服務(wù)器, 請求數(shù)據(jù)同步
serial number 版本號
reflash ? ? ? 刷新時(shí)間
retry ? ? ? ? 重試時(shí)間
expire ? ? ? ?過去時(shí)間 ,自殺時(shí)間
nagative answer ttl ?否定時(shí)間間隔
緩存DNS服務(wù)器
轉(zhuǎn)發(fā)器
數(shù)據(jù)庫中,每一個(gè)條目稱作一個(gè)資源記錄 ?resource record ?簡寫 ?RR
資源記錄的格式
NAME ? TTL ? ?IN ? ? RRT(RESOURCE RECORD TYPE) ? ?VALUE
資源記錄類型:
SOA start of authority
ZONE NAME TTL IN SOA ? FQDN ADMINISTRATOR_MAILBOX (
serial number 版本號
reflash ? ? ? 刷新時(shí)間
retry ? ? ? ? 重試時(shí)間
expire ? ? ? ?過去時(shí)間 ,自殺時(shí)間
nagative answer ttl 否定回答的TTL值
時(shí)間單位 : M/H/D/M 默認(rèn)是秒
郵件格式: ?admin@magedu.com ?需要寫成 admin.mageud.com.
magedu.com 600 IN SOA ns1.magedu.com. ? ?admin.magedu.com. (
20141228
1H
5M
1W
1D
)
NS name server : ? ZONE NAME --- ?FQDN
MX mail exchange ? : ZONE NAME ---- FQDN?
NAME ? ?TTL ? IN ? MX ? ?PRI 優(yōu)先級 ? ?VALUE
優(yōu)先級 0-99 數(shù)字越小越高
A address ? FQND----IPV4
AAAA ?address ?FQDN----IPV6
PRT(POINTER) ? IP----FQDN ?指針
CNAME: FQDN ---- FQDN ? 前者是后者的別名?
www2.magedu.com. ? IN CNAME www.magedu.com.
域:DOMAIN
區(qū)域:ZONE
.com
授權(quán)
magedu.com. IN ? NS ? ? ns.magedu.com.
magedu.com. IN ? A ? ? ?192.168.0.10
magedu.com. 192.168.0.0/24
www 192.168.0.1
mail 192.168.0.2 mx
建立兩個(gè)區(qū)域文件
正向區(qū)域文件
magedu.com. IN SOA
www.magedu.com IN A 191.168.0.1
簡寫成:
www IN A 191.168.0.1
反向區(qū)域文件
0.168.192.in-addr.arpa. ? ? ?IN ? ? ? SOA
1.168.192.in-addr.arpa. ? ? ?IN RTP ?www.magedu.com.
1 IN RTP ?www.magedu.com.
區(qū)域傳送的類型:
完全區(qū)域傳送:axfr
增量區(qū)域傳送:ixfr
區(qū)域類型:
主區(qū)域:master
從區(qū)域:slave
提示區(qū)域:hint ? 定義根的位置
轉(zhuǎn)發(fā)區(qū)域:forward
magedu.com ? 172.16.100.0/24
ns 172.168.100.1
www 172.168.100.1 172.16.100.3
mail 172.16.100.2
ftp www
DNS: BIND
ISC ??
BIND97
/etc/named.conf
BIND 進(jìn)程的工作屬性
區(qū)域的定義
/etc/rndc.key
rndc remote name domain control
秘鑰文件 ? /etc/rndc.conf
/var/named/
區(qū)域數(shù)據(jù)文件
/etc/rc.d/init.d/named
start stop restart reload status
二進(jìn)制程序叫named
bind-chroot:
默認(rèn):named
用戶:named
組:named
/var/named/chroot/
重新配置文件的位置,增加安全性
caching-nameserver
成為緩存DNS服務(wù)器
緩存----主----從
named-checkconfig
named-checkzone
dig DNS INFORMATION?
dig -t ns .
named.ca ?根服務(wù)器地址
DNS?
監(jiān)聽協(xié)議的端口
tcp 53
UPD 53
tcp 953 rndc
SOCKET 套接字
IP:port 就是套接字
位于2個(gè)不同主機(jī)上的進(jìn)程要想實(shí)現(xiàn)通訊
服務(wù)器端需要在某個(gè)位置中等待客戶端的請求
這個(gè)位置我們才稱為套接字
區(qū)域
ZONE "區(qū)域名稱" IN {
type {maste|salve|hint|forward}
};
主區(qū)域
file "區(qū)域數(shù)據(jù)文件,相對路徑directory下的" ;
從區(qū)域
file "區(qū)域數(shù)據(jù)文件" ;
mastera {master_ip;};
臨時(shí)關(guān)閉selinux
getenforce
enforcing
setenforce 0 關(guān)閉
setenforcing 1 打開
永久關(guān)閉 selinx
vim etc/selinux/config
SELINUX= disabled
dig -t 資源類型 名稱 @DNS服務(wù)器地址 正向查詢
dig -x IP ? ?反向查詢
host -t 資源類型 ?名稱 不能還用@ ? ? ? ? ? 正向查詢
nslookup 交互式
server ip
set q=資源類型
泛域名解析
*.magedu.com. ? IN A ?IP
recursion 遞歸
區(qū)域:
主
從
axfr 完全區(qū)域傳送
ixfa 增量區(qū)域傳送
rndc:遠(yuǎn)程控制DNS
子域授權(quán)
正向區(qū)域
SUB_ZONE_NAME IN NS NSSERVER_SUB_ZONE_NAME
NSSERVER_SUB_ZONE_NAME IN A IP
.com
naonao.com. IN NS ns1.naonao.com.
IN NS ns2.naonao.com.
ns1.naonao.com. IN A 172.16.100.1
ns2.naonao.com. IN A 172.16.100.2
naonao.com
fin.naonao.com. IN NS ns1.fin.naonao.com.
ns1.fin.naonao.com. IN A ? ? ? 172.16.100.8
market.naonao.com. IN NS ? ns1.market.naonao.com.
ns1.market.naonao.com. IN A ? ?172.16.100.9
forward (only) (first)
forwarders 指定轉(zhuǎn)發(fā)器
dig +trace -t A ?www.baidu.com
zone “zone name” IN {
type forward;
};
?
allow-recursion
allow-query
allow-transfer
axfr
ixfr
定義 ACL
acl ACL_NAME(innet) {
172.16.0.0/16
127.0.0.0/8
};
allow-query { innet };
none;
any:
CDN content delivery network ?內(nèi)容分發(fā)網(wǎng)絡(luò)
view view-name {
};
所有的區(qū)域都必須在視圖中
開啟DNS 查詢?nèi)罩居涗?/p>
category:日志源
查詢
區(qū)域傳送
可以通過category自定義日志源
channel:日志的記錄保存位置
syslog:
file:自定義保存保存日志信息的文件
logging ?{
}
queryperf : dns的壓力測試
DHCP: Dynamic Host Config Protocol ---bootp
TCP/IP
IPADDR
NETMASK
GATEWAY
DNS
廣播方式:
CLIENT --- DHCPCOVER ?報(bào)文
DHCPOFFER----SERVER
CLIENT --- DHCPQUEST
DHCPACK---SERVER
續(xù)租 單播
CLIENT --- DHCPQUEST
DHCPACK ---SERVER
服務(wù)器端監(jiān)聽:UDP 67
客戶端監(jiān)聽:UDP 68
HTTP: HYPERTEXT TRANSFER PROTOCOL 超文本傳輸協(xié)議
超鏈接:
web:
http 0.9:僅支持純文本(超鏈接) ? ASCII,
HTML : HYPERTEXT MARK LANGUAGE
BROWSER:客戶端
URI: UNIFORM RESOURCE INDENTIFIER 統(tǒng)一資源標(biāo)識符
全局范圍
URL: UNIFORM RESOURCE LOCATOR 統(tǒng)一資源定位符
是URI的子集
protocol://HOST:PORT/PATH/FILE
http://www.naonao.com/download/linux.tar.gz
web資源(web對象):http://www.naonao.com/logo.gif
多個(gè)資源被整合為一個(gè)HTML文檔?
HTTP方法:
GET?
http / 1.0: PUT,POST,DELETE
MIME: MULTIPURPOSE INTERNET MAIL EXTENSION,多用途互聯(lián)網(wǎng)郵件擴(kuò)展
SMTP:SIMPLE MAIL TRANSMISSION PROTOCOL,純文本
MINE:非文本數(shù)據(jù)在傳輸前重新編碼為文本格式,
?接收方能夠用相反的方式將其還原為原來的格式
?還能調(diào)用相應(yīng)的程序來打開文件
BASE64 編碼格式
協(xié)議首部:
p_w_picpath/jpeg
動(dòng)態(tài)效果:ActiveX
JAVA: applet ?JRE環(huán)境
動(dòng)態(tài)網(wǎng)頁:服務(wù)器端存儲(chǔ)的文檔非HTML格式,而是變成語言開發(fā)的腳本,
?腳本接受參數(shù)后在服務(wù)器運(yùn)行,運(yùn)行完成后生產(chǎn)HTML文檔
?把生產(chǎn)的文檔發(fā)給客戶端
?
WEB:INDEX.PHP?
WEB---PROTOCOL--PHP解釋器(運(yùn)行INDEX.PHP)
HTTP
INDEX.HTML:
引用N個(gè)web對象,URL
動(dòng)態(tài)網(wǎng)頁:包含靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容
動(dòng)態(tài)內(nèi)容部分才需要運(yùn)行
緩存:
首部:
IP :
SOURCE IP
DESTINATION IP
TCP :
SOURCE PORT
DESTINATION PORT
HTTP :
GET /2.HTML
HOST:WWW.NAONAO.COM (虛擬主機(jī))
HTTP 報(bào)文:
請求報(bào)文,響應(yīng)報(bào)文
請求報(bào)文的語法:
<mmethod> <request-URL> <version>
<headera>
<entity-body> 報(bào)文主體
響應(yīng)報(bào)文的語法:
<version > <status> <reason-phrase>
<headera>
<entity-body>
狀態(tài)代碼
1xx 純信息
2xx “成功”類 ?(200正常)
3xx 重定向類的信息(301永久重定向,302臨時(shí)重定向,304沒有發(fā)生改變)
4xx 客戶端錯(cuò)誤類的信息 (404)
5xx 服務(wù)器端錯(cuò)誤類的信息 (500)
請求報(bào)文
GET / HTTP/1.1
HOST:WWW.NAONAO.COM
CONNECTION: KEEP-ACTIVE
響應(yīng)報(bào)文
HTTP/1.1 200 OK
web服務(wù)器的主要任務(wù)
1.建立連接
2.接受請求
3.處理請求
4.訪問資源
5.構(gòu)建響應(yīng)
6.發(fā)送響應(yīng)
7.記錄日志
http/1.1
增強(qiáng)緩存功能,支持長連接
MPM
C/S
c: client agent (brower,spider)
s: server?
client---request---server----response---client
http method
get head post put delete trace opitions connection
cilent
ie
firefox
chrome
opera
safari
server
apache---httpd
iis
nginx
lighttpd
thttpd
應(yīng)用程序服務(wù)器
IIS
TOMCAT (apache ,jsp,opensoure)
WEBSPHERE (ibm , jsp,commodity)
WEBLOGIC (oracle , jsp,commodity)
JBOSS (redheat )
www.netcraft.com 網(wǎng)站W(wǎng)EB統(tǒng)計(jì)比例
代理:
WEB代理服務(wù)器工作與WEB客戶端和WEB服務(wù)器之間,
他負(fù)責(zé)接受來自于客戶端的http請求,并將其轉(zhuǎn)發(fā)至對應(yīng)的服務(wù)
而后接受來自于服務(wù)器的響應(yīng),并將響應(yīng)報(bào)文回送至客戶端
apache:17年,a pathoy server = apache
ASF: apahce software foundation
WEB:
httd
tomcat
hadoop
www.apache.org
httpd:
web server
2.2 2.4 2.0
事先創(chuàng)建進(jìn)程
按需維護(hù)適當(dāng)?shù)倪M(jìn)程
模塊設(shè)計(jì)、核心比較小、各種功能都能模塊添加(包括php)
支持運(yùn)行時(shí)配置,支持單獨(dú)變異模塊
支持多種方式的虛擬主機(jī)配置
虛擬主機(jī):物理服務(wù)器,WEB程序只有一個(gè),卻可以服務(wù)多個(gè)不同的站點(diǎn)
基于IP的虛擬主機(jī)
基于端口的虛擬主機(jī)
基于域名的虛擬主機(jī)
支持HTTPS協(xié)議:mod-ssl
支持用戶認(rèn)證
支持基于IP或者主機(jī)名的ACL
支持每目錄的訪問控制
支持URL重寫,/IMAGE/A.JPEG 重寫成 /BBS/IMAGES/ABC.JPEG
httpd: rpm包:
源碼編譯:
httpd:收selinux 控制,事先讓其處于permmasive,disable
方法 setenforce 0
httpd:
/usr/bin/httpd{MPM:prefork}
httpd:root:root 只有1個(gè) ?master主導(dǎo)進(jìn)程
httpd:apache:apache work工作進(jìn)程
/etc/rc.d/init.d/httpd
port: 80 tcp ,ssl 443 tcp
/etc/httpd:工作的根目錄,相當(dāng)于程序的安裝目錄
/etc/httpd/conf:配置文件目錄
主配置文件 httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/modules:模塊目錄
/etc/httpd/logs---/var/log/httpd 日志目錄
日志文件有兩類,訪問日志access_log,錯(cuò)誤日志 err_log
/var/www
html 靜態(tài)頁面位置
cgi-bin 動(dòng)態(tài)頁面
cgi:common gateway interface 通用網(wǎng)關(guān)接口
client---httpd (index.cgi)---spawn frocess (index.cgi)---httpd---client
perl,python,java,(serviet,jsp),php
fastcgi:
程序:指令和數(shù)據(jù)
數(shù)據(jù):數(shù)據(jù)庫服務(wù) ? CPU-BOUND CPU密集型
LAMP :linux apache mysql php 合體
httpd:directive vaule
指令不區(qū)分大小寫
value則根據(jù)需要有可能要區(qū)分
loadrunner 壓力測試工具
MPM:Multi-Processing Module
winnt
prefork 一個(gè)請求用一個(gè)進(jìn)程響應(yīng)
worker ?一個(gè)請求用一個(gè)線程響應(yīng),啟動(dòng)多個(gè)進(jìn)程,每個(gè)進(jìn)程生成多個(gè)線程處理請求響應(yīng),測試發(fā)現(xiàn)性能沒有prefork好
event 一個(gè)進(jìn)程處理多個(gè)請求
httpd -l ?查看核心模塊
httpd -t ?檢測配置文件語法正確性
URL的路徑和本地系統(tǒng)路徑不是一碼事
URL相對于documentroot的路徑而言
options
none:不支持所有選項(xiàng)
indexes:允許索引目錄
followsynlinks:允許訪問符號鏈接指向的源文件,降低性能
includes:允許執(zhí)行服務(wù)器包含(ssi)
execcgi:允許執(zhí)行CGI腳本
multiviews:
all:支持所有選項(xiàng)
order:用于定義基于IP ,網(wǎng)絡(luò),主機(jī)的訪問控制機(jī)制
order allow,denny
allow from
denny from
地址的表示方式:
ip
網(wǎng)絡(luò)地址 10.100.7.0/24
hostname WWW.A.COM
domainname A.COM?
部分ip 172.16. ? 表示 172.16.0.0/16
elinks http://
-dump 不進(jìn)入交互模式
-source 顯示源代碼
AllowOverride ?authconfig
authtype basic
authname "just do it"?
authuserfile "/etc/httpd/htpasswd"
require valid-user?
htpasswd -c -m /etc/httpd/htpasswd hadoop
-c 第一次創(chuàng)建用戶時(shí)添加,創(chuàng)建用戶密碼文件,之后不能加
-m MD5加密
-D 刪除用戶
authgroupfile "/etc/httpd/htgroup"
require group zu
vim htgroup?
zu hadoop tom
apache 虛擬主機(jī)
apache 服務(wù)器 :host 物理主機(jī)
虛擬主機(jī):
apache服務(wù)
服務(wù)于多個(gè)不同的站點(diǎn)
apche:
中心主機(jī)
虛擬主機(jī)
基于IP
IP1:80
IP2:80
基于端口
ip:80
ip:8080
基于域名
ip:80
主機(jī)名不同
WWW.A.ORG
WWW.B.COM
WWW.C.NET
使用虛擬主機(jī)的方法
vim /ETC/HTTPD/CONF/HTTPD.COF
注銷# DocumentRoot?
APACHE 2.2
NAMEVIRTUALHOST
APACHE 2.4
直接定義
servername
serverailas
documentroot /www/a.org/
<directory "/www/a.org" >
options
allowoverride?
</directory>
alias
errorlog
customlog
設(shè)定默認(rèn)的虛擬主機(jī) 需放在默認(rèn)的第一個(gè)位置才能生效
<virtualhost _default_:80>
documentroot "/www/default80"
...
</virtualhost>
<virtualhost _default_:*>
doucumentroot "/www/default"
...
</virtualhost>
https:訪問的建立過程
1.建立私有CA 生產(chǎn)自簽證書
cd /etc/pki/CA/?
(umask 077;openssl genrsa -out ./private/cakey.pem 2048)
2.更改證書生產(chǎn)的默認(rèn)信息
vim /etc/tls/openssl.conf
3.生產(chǎn)自簽證書
openssl req -new -x509 -key /private/cakey.pem -out cacert.pem -days 3655
4.更改私有CA的文件位置
vim /etc/tls/openssl.conf
ca_default
dir =
5.新建私有CA需要的文件和文件夾
文件夾 certs crl newcerts
文件 index.txt serial
轉(zhuǎn)載于:https://blog.51cto.com/daxia000/1876034
總結(jié)
以上是生活随笔為你收集整理的Linux 学习笔记 三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天,彻底弄懂什么是URI
- 下一篇: inteli211网卡linux驱动,i