Linux知識(shí)點(diǎn)撿拾

基礎(chǔ)命令


為了在 sudo 中設(shè)置權(quán)限提升歹苦,您需要編輯 sudoers 文件发钝。 你不應(yīng)該直接編輯文件仔蝌,而是使用:
sudo visudo
這將打開(kāi) sudoers 文件并允許您安全地進(jìn)行更改(保存時(shí)會(huì)進(jìn)行錯(cuò)誤檢查,所以您不會(huì)意外地因?yàn)檩斎脲e(cuò)誤將自己鎖姿伎帧)沾谜。


man命令操作按鍵

/關(guān)鍵詞 從上往下搜索某個(gè)關(guān)鍵詞
關(guān)鍵詞 從下往上搜索某個(gè)關(guān)鍵詞
n 定位到下一個(gè)搜索到的關(guān)鍵詞
N 定位到上一個(gè)搜索到的關(guān)鍵詞

sudo命令
sudo !! sudo執(zhí)行上一條操作命令

cat命令操作按鍵,格式為“cat [選項(xiàng)] 文件”

-n 顯示行號(hào)
-b 顯示行號(hào)(不包括空行)
-E在結(jié)束行提示$
-A 顯示出“不可見(jiàn)”的符合胀莹,如空格类早,tab鍵等
例:把兩個(gè)文件列合并(注意先后順序)
cat file1.out file2.out > file2.out
cat [選項(xiàng)] [文件]..| 一次顯示整個(gè)文件或從鍵盤(pán)創(chuàng)建一個(gè)文件或?qū)讉€(gè)文件合并成一個(gè)文件
tac | 反向顯示

cut
-b :以字節(jié)為單位進(jìn)行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界嗜逻,除非也指定了 -n 標(biāo)志涩僻。
-c :以字符為單位進(jìn)行分割。
-d :自定義分隔符栈顷,默認(rèn)為制表符逆日。
-f :與-d一起使用,指定顯示哪個(gè)區(qū)域萄凤。

more命令操作按鍵室抽,格式為“more [選項(xiàng)] 文件”

-數(shù)字 預(yù)先顯示的行數(shù)(默認(rèn)第一頁(yè))
-d 顯示提示語(yǔ)句與報(bào)錯(cuò)信息

tr命令操作按鍵,格式為“tr [原始字符] [目標(biāo)字符]”

wc命令操作按鍵靡努,格式為“wc[參數(shù)] 文本”

-l 只顯示行數(shù)
-w 只顯示單詞數(shù)
-c 只顯示字節(jié)數(shù)

diff命令用于比較多個(gè)文本文件的差異坪圾,格式為:“diff [參數(shù)] 文件1 文件2”

-b 忽略空格引起的差異
-B 忽略空行引起的差異
--brief或-q 僅報(bào)告是否存在差異
-c 使用上下文輸出格式

touch命令用于創(chuàng)建空白文件與修改文件時(shí)間,格式為:“touch [選項(xiàng)] 文件”

-a 近修改“訪問(wèn)時(shí)間”(atime)
-m 近修改“更改時(shí)間”(mtime)
-d 同時(shí)修改atime與mtime
-t 要修改成的時(shí)間[YYMMDDhhmm]

mkdir命令用于創(chuàng)建空白的文件夾惑朦,格式為:“mkdir [選項(xiàng)] 目錄”

-m=MODE 默認(rèn)的文件目錄權(quán)限兽泄,如”-m 755”
-p 連續(xù)創(chuàng)建多層目錄
-v 顯示創(chuàng)建的過(guò)程
例:1.在一個(gè)目錄下創(chuàng)建多個(gè)子目錄
mkdir -p /etc/salt/states/{init,prod}

cp命令復(fù)制文件或目錄,格式為:“cp [選項(xiàng)] 源文件 目標(biāo)文件”

-p 保留原始文件的屬性
-d 若對(duì)象為“鏈接文件”漾月,則保留該“鏈接文件”的屬性
-r 遞歸持續(xù)復(fù)制(用于目錄)
-I 若目標(biāo)文件存在則詢(xún)問(wèn)是否覆蓋
-a 相當(dāng)于-pdr(p,d,r為上所述)

mv用于移動(dòng)文件或改名病梢,格式為:“mv [選項(xiàng)] 文件名 [目標(biāo)路徑|目標(biāo)文件名]”

-b 若需覆蓋文件,則覆蓋前先行備份
-u 若目標(biāo)文件已經(jīng)存在梁肿,且 source 比較新蜓陌,才會(huì)更新(update)
例:1移動(dòng)當(dāng)前目錄下所有文件到old目錄下(old目錄除外)
mv ls| grep -v old old/

dd命令用于指定大小的拷貝的文件或指定轉(zhuǎn)換文件,格式為:“dd [參數(shù)]”

if 輸入的文件名稱(chēng)
of 輸出的文件名稱(chēng)
bs 設(shè)置每個(gè)“塊”的大小
count 設(shè)置要拷貝“塊”的個(gè)數(shù)
conv=ucase 將字母從小寫(xiě)轉(zhuǎn)大寫(xiě)
conv=lcase 把字符從大寫(xiě)轉(zhuǎn)小寫(xiě)

stat命令

查看文件的權(quán)限,以數(shù)字顯示
stat -c %a 文件名

ssh命令吩蔑,用于登錄遠(yuǎn)程機(jī)器"ssh user@IP "

-p 指定端口遠(yuǎn)程登錄钮热,例:"ssh -p port ip"

用戶(hù)與組管理命令

useradd命令用于創(chuàng)建新的用戶(hù),格式為:“useradd [選項(xiàng)] 用戶(hù)名”

-d 指定用戶(hù)的家目錄(默認(rèn)為/home/username)
-D 展示默認(rèn)值
-e 賬號(hào)有效截止日至烛芬,格式:YYYY-MM-DD
-g 指定一個(gè)初始用戶(hù)組(必須已存在)
-G 指定一個(gè)或多個(gè)擴(kuò)展用戶(hù)組
-N 不創(chuàng)建與用戶(hù)同名的用戶(hù)組
-s 指定默認(rèn)的shell
-u 指定用戶(hù)的uid

passwd命令用于修改用戶(hù)的密碼隧期,格式為:“passwd [選項(xiàng)] [用戶(hù)名]”

-l 鎖定用戶(hù)禁止其登錄
-u 解除鎖定痴奏,允許用戶(hù)登錄
--stdin 允許從標(biāo)準(zhǔn)輸入修改用戶(hù)密碼,如(echo “NewPassWord”|passwd stdin Username)
-d 使賬號(hào)無(wú)密碼
-e 強(qiáng)制用戶(hù)下次登錄時(shí)修改密碼
-S 顯示用戶(hù)的密碼狀態(tài)

userdel命令用于刪除用戶(hù)所有表格厌秒,格式為:“userdel [選項(xiàng)] 用戶(hù)名”

-f 強(qiáng)制刪除用戶(hù)读拆,家目錄與其相關(guān)文件
-r 同時(shí)刪除用戶(hù),家目錄與其相關(guān)文件

usermod命令用于修改用戶(hù)的屬性鸵闪,格式為“usermod [選項(xiàng)] 用戶(hù)名”

-C 填寫(xiě)賬號(hào)的備注信息
-d –m –m與-d連用檐晕,可重新指定用戶(hù)的家目錄并自動(dòng)舊的數(shù)據(jù)轉(zhuǎn)移過(guò)去
-e 賬戶(hù)到期時(shí)間,格式“YYYY-MM-DD”
-g 變更所屬用戶(hù)組
-G 變更擴(kuò)展用戶(hù)組
-L 鎖定用戶(hù)蚌讼,禁止登錄系統(tǒng)
-U 解鎖用戶(hù)辟灰,允許登錄系統(tǒng)
-s 變更默認(rèn)終端
-u 修改用戶(hù)的UID

groupadd命令用于創(chuàng)建群組,格式為:“groupadd [選項(xiàng)] 群組名”

打包壓縮文件命令

tar命令用于對(duì)文件打包壓縮或解壓篡石,格式為:“tar [選項(xiàng)] [文件]“

-c 創(chuàng)建壓縮文件
-x 解開(kāi)壓縮文件
-t 查看壓縮包內(nèi)有哪些文件
-z 用Gzip壓縮或解壓
-j 用bzip2壓縮或解壓
-v 顯示壓縮或解壓的過(guò)程
-f 目標(biāo)文件名
-p 保留原始的權(quán)限與屬性
-P 使用絕對(duì)路徑來(lái)壓縮
-C 指定解壓到的目錄

文件查詢(xún)搜索命令

grep命令用于對(duì)文本進(jìn)行搜索芥喇,格式為:“grep [選項(xiàng)] [文件]”

-b 將可執(zhí)行文件(binary)當(dāng)做文本文件(text)
-c 僅顯示找到的次數(shù)
-I 忽略大小寫(xiě)
-n 顯示行號(hào)
-v 反向選擇---僅列出沒(méi)有“關(guān)鍵詞”的行
例:1.過(guò)濾文本中的空行和注釋行
egrep -v "#|^$" /etc/salt/master

find命令用于查找文件,格式為:“find [查找路徑] 尋找條件 操作”

-name 匹配名稱(chēng)
-perm 匹配權(quán)限(mode為完全匹配凰萨,-mode為包含即可)
-user 匹配所有者
-group 匹配所有組
-mtime –n +n 匹配修改內(nèi)容的時(shí)間-n指n天以?xún)?nèi)继控,+n指n天之前
-atime –n +n 匹配訪問(wèn)文件的時(shí)間-n指n天以?xún)?nèi),+n指n天之前
-ctime –n +n 匹配修改權(quán)限的時(shí)間-n指n天以?xún)?nèi)胖眷,+n指n天之前
-nouser 匹配無(wú)所有者的文件
-nogroup 匹配無(wú)所有組的文件
-newer f1 !f2 匹配比文件f1新卻比f(wàn)2舊的文件
-type b/d/c/p/l/f 匹配文件類(lèi)型(塊設(shè)備武通、目錄、字符設(shè)備珊搀、管道冶忱、鏈接文件、文件)
--size 匹配文件的大芯澄觥(+50k查找超過(guò)50k的文件囚枪,而-50k則代表查找小于50k的文件)
-prune 忽略某個(gè)目錄
--exec {} ; 后面可接對(duì)搜索到結(jié)果進(jìn)一步處理的命令
例:1.找出用戶(hù)linuxprobe的文件并復(fù)制到/root/findresults目錄;重點(diǎn)是“-exec {} ;”其中的{}代表find命令搜出的文件劳淆,記住結(jié)尾必須是\链沼;
find / -user linuxprobe –exec cp –arf {} /root/findresults/ ;
2.遍歷壓縮歸檔日志文件并刪除源文件
find . -name "*.log" -type f -exec tar -zcvf {}.tar.gz {} --remove-files > /dev/null ;
3.遍歷解壓tar.gz文件,并刪除tar.gz文件
find . -name "*.tar.gz" -type f -exec tar -zxvf {} ; -exec rm -rf {} ; > /dev/null
4.查找目錄下的所有文件(遍歷且忽略大小寫(xiě))中是否含有某個(gè)字符串
find . |xargs grep -ri "IBM"
5.查找目錄下的所有文件(遍歷且忽略大小寫(xiě))中是否含有某個(gè)字符串,并且只打印出文件名
find . |xargs grep -ri "IBM" -l
6.刪除創(chuàng)建時(shí)間30之前的名字是*.tar.gz的文件
find . -name "*.tar.gz" -type f -mtime +30 -exec rm {} ; > /dev/null 2>&1

用戶(hù)身份與文件權(quán)限

SUID SGID SBIT的文件特殊權(quán)限憔儿、文件隱藏權(quán)限忆植、ACL訪問(wèn)控制列表
SUID:讓執(zhí)行者臨時(shí)擁有屬主的權(quán)限(僅對(duì)擁有執(zhí)行權(quán)限的二進(jìn)制程序有效)
SGID:讓執(zhí)行者臨時(shí)擁有屬組的權(quán)限(對(duì)擁有執(zhí)行權(quán)限的二進(jìn)制程序設(shè)置)
SBIT(Sticky Bit):只可管理自己的數(shù)據(jù)而不能刪除他人文件(僅對(duì)目錄有效)粘滯位
chattr命令用于設(shè)置文件的隱藏權(quán)限放可,格式為:“chattr [參數(shù)] 文件”

i 將無(wú)法對(duì)文件進(jìn)行修改谒臼,若對(duì)目錄設(shè)置后則僅能修改子文件而不能新建或刪除
a 將允許補(bǔ)充(追加)內(nèi)容,無(wú)法覆蓋/刪除(Append Only)
S 文件內(nèi)容變更后立即同步到硬盤(pán)(sync)
s 徹底從硬盤(pán)中刪除耀里,不可恢復(fù)(用O填充源文件所在硬盤(pán)區(qū)域)
A 不再修改這個(gè)文件的最后訪問(wèn)時(shí)間(atime)
b 不再修改文件或目錄的存取時(shí)間
D 檢查壓縮文件中錯(cuò)誤
d 當(dāng)使用dump命令備份時(shí)忽略本文件/目錄
c 默認(rèn)將文件或目錄進(jìn)行壓縮
u 當(dāng)刪除此文件后依然保留其在硬盤(pán)中的數(shù)據(jù)蜈缤,方便日后恢復(fù)
t 讓文件系統(tǒng)支持尾步合并
X 可以直接訪問(wèn)壓縮文件的內(nèi)容

lsattr命令用于顯示文件的隱藏權(quán)限,格式為:“l(fā)saater [參數(shù)] 文件”

a 顯示所有文件和目錄
l 顯示隱藏屬性的全稱(chēng)(默認(rèn)簡(jiǎn)寫(xiě)成一個(gè)字母)
R 遞歸處理冯挎,將制定目錄下得所有文件及子目錄一并處理
d 若目標(biāo)文件為目錄底哥,請(qǐng)加此參數(shù)

文件訪問(wèn)控制列表

setfacl命令用于增加或者修改ACL規(guī)則,格式為:“setfacl [參數(shù)] 文件

df命令用于查看掛載點(diǎn)信息與磁盤(pán)使用量,格式為:“df [選項(xiàng)] [文件]”

-a 顯示出所有的文件系統(tǒng)
--total 展出總體使用量
-h 更易讀的容量格式,剩余空間
-i 展出Inode的信息
-T 顯示出文件系統(tǒng)的類(lèi)型

du命令用于查看磁盤(pán)的使用量趾徽,格式為:“du [選項(xiàng)] [文件]”

-a 評(píng)估每個(gè)文件而非目錄整體占用量
-c 評(píng)估每個(gè)文件并計(jì)算出總占用量總和
-h 更易讀的容量格式
-s 僅顯示占用量總和

磁盤(pán)冗余陣列

mdadm命令用于管理系統(tǒng)軟件RAID硬盤(pán)陣列续滋,格式為:“mdadm [模式] <RAID設(shè)備名稱(chēng)> [選項(xiàng)] [成員設(shè)備名稱(chēng)]”
mdadm管理RAID陣列的動(dòng)作有:

Assemble 將設(shè)備加入到以前定義的陣列
Build 創(chuàng)建一個(gè)沒(méi)有超級(jí)塊的陣列
Create 創(chuàng)建一個(gè)新的陣列,每個(gè)設(shè)備具有超級(jí)塊
Manage 管理陣列(例如添加和刪除)
Misc 允許單獨(dú)對(duì)陣列中的某個(gè)設(shè)備進(jìn)行操作(如停止陣列)
Follws or Monitor 監(jiān)控狀態(tài)
Grow 改變陣列的容量或設(shè)備數(shù)目

mdadm管理RAID陣列的參數(shù)有:

-a 監(jiān)測(cè)設(shè)備名稱(chēng)
-n 指定設(shè)備數(shù)量
-l 指定rald級(jí)別
-C 創(chuàng)建
-v 顯示過(guò)程
-f 模擬設(shè)備損壞
-r 移除設(shè)備
-a 添加設(shè)備
-Q 查看摘要信息
-D 查看詳細(xì)信息
-S 停止陣列

軟硬方式鏈接

ln命令用于創(chuàng)建鏈接文件孵奶,格式為:“l(fā)n [選項(xiàng)] 文件”

創(chuàng)建硬鏈接:“l(fā)n 文件名 鏈接名”
創(chuàng)建軟連接:“l(fā)n –s 文件名 鏈接名”
-s 創(chuàng)建“符號(hào)鏈接”(默認(rèn)是硬鏈接)
-f 強(qiáng)制創(chuàng)建文件或目錄的鏈接
-I 覆蓋前先詢(xún)問(wèn)
-v 顯示創(chuàng)建連接的過(guò)程

Iptables與Firewalld防火墻

一般規(guī)則

拒絕其他用戶(hù)從“eth0”網(wǎng)卡訪問(wèn)本機(jī)http服務(wù)的數(shù)據(jù)包
iptables –I INPUT –I eth0 –p tcp -–dport 80 –j REJECT
禁止用戶(hù)訪問(wèn)www.baidu.com
iptables –I FORWARD –d www.baidu.com –j DROP
禁止IP地址是192.168.10.10的用戶(hù)上網(wǎng)
iptables –I FORWARD –s 192.168.10.10 –j DROP
iptables命令執(zhí)行后的規(guī)則策略?xún)H當(dāng)前生效疲酌,若想重啟后依然保存規(guī)則,需執(zhí)行“service iptables save”

SNAT與DNAT
SNAT源地址轉(zhuǎn)換技術(shù)
iptables –t nat –A POSTROUTING(路由選擇后再處理) –s 192.168.10.0/24(局域網(wǎng)地址) –o eth0(外網(wǎng)網(wǎng)卡名) –j SNAT -–to-source 111.196.12.131(外網(wǎng)接口地址)
外網(wǎng)IP地址不穩(wěn)定的情況使用MASQUERADE(動(dòng)態(tài)偽裝):能夠自動(dòng)尋找外網(wǎng)地址并改為當(dāng)前正確的外網(wǎng)IP地址
iptables –t nat –A POSTROUTING –s 192.168.10.0/24 –j MASQUERADE

DNAT即目的地址轉(zhuǎn)換技術(shù)了袁,則能夠讓外網(wǎng)IP用戶(hù)訪問(wèn)局域網(wǎng)內(nèi)不同的服務(wù)器
iptables -t nat -A PREROUTING(路由選擇之前處理) -i eth0 -d 61.240.149.149(外網(wǎng)接口的IP ) -p tcp --dport 80(開(kāi)放服務(wù)的端口) -j DNAT --to-destination 192.168.10.6(web主機(jī)的內(nèi)網(wǎng)IP地址)
端口轉(zhuǎn)發(fā)功能與流量均衡
端口轉(zhuǎn)發(fā)功能可以將原本到某端口的數(shù)據(jù)包轉(zhuǎn)發(fā)到其他端口
firewall-cmd --permanent -zone=<區(qū)域> --add-forward-port=port=<源端口號(hào)>:proto=<協(xié)議>:toport=<目標(biāo)端口號(hào)>:toaddr=<目標(biāo)IP地址>

例:將訪問(wèn)192.168.10.10主機(jī)80端口的請(qǐng)求轉(zhuǎn)發(fā)至222端口:

[root@Linux ~]# firewall-cmd --permanent --zone=punlic
--add-forward-port=port=80:proto=tcp:toport=222:toaddr=192.168.10.10
success

流量均衡可以將網(wǎng)站前段服務(wù)器的訪問(wèn)量分流至內(nèi)網(wǎng)中3臺(tái)不同的主機(jī)上

  1. iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.10.10:80
  2. iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m sate NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.10.11:80
  3. iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.10.12:80

FireWalld防火墻

FireWalld服務(wù)是紅冒RHEL7(Centos7)系統(tǒng)中默認(rèn)的防火墻工具朗恳,特點(diǎn)是擁有運(yùn)行時(shí)配置與永久配置選項(xiàng)且能夠支持動(dòng)態(tài)更新以及“zone”的區(qū)域功能概念,使用圖形化工具firewall-config或文本管理工具firewall-cmd

區(qū)域規(guī)則

防火墻的網(wǎng)絡(luò)區(qū)域定義了網(wǎng)絡(luò)連接的可信等級(jí)载绿,我們可以根據(jù)不同場(chǎng)景來(lái)調(diào)用不同的firewalld區(qū)域

trusted 允許所有的數(shù)據(jù)包
home 拒絕流入的數(shù)據(jù)包粥诫,除非與輸出流量數(shù)據(jù)包相關(guān)或是ssh,mdns,ipp-client與dhcpv6-client服務(wù)則允許
internal 等同于home區(qū)域
work 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是ssh,ipp-client與dncpv6-client服務(wù)則允許
public 拒絕流入的數(shù)據(jù)包崭庸,除非與輸出流量包相關(guān)或是ssh,dncpv6-client服務(wù)則允許
external 拒絕流入的數(shù)據(jù)包怀浆,除非與輸出流量數(shù)據(jù)包相關(guān)或是ssh服務(wù)則允許
dmz 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是ssh服務(wù)則允許
block 拒絕流入的數(shù)據(jù)包怕享,除非與輸出流量數(shù)據(jù)包相關(guān)
drop 拒絕流入的數(shù)據(jù)包揉稚,除非與輸出流量數(shù)據(jù)包相關(guān)

默認(rèn)區(qū)域是public

字符管理工具

如果想要更高效的配置妥當(dāng)防火墻,那么就一定要學(xué)習(xí)字符管理工具firewall-cmd命令
命令參數(shù)有:

--get-default-zone 查詢(xún)默認(rèn)的區(qū)域名稱(chēng)
--set-default-zone=<區(qū)域名稱(chēng)> 設(shè)置默認(rèn)的區(qū)域熬粗,永久生效
--get-zones 顯示可用的區(qū)域
--get-services 顯示預(yù)先定義的服務(wù)
--get-active-zones 顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱(chēng)
--add-source= 將來(lái)源于此IP或子網(wǎng)的流量導(dǎo)向指定的區(qū)域
--remove-source= 不再將此IP或子網(wǎng)的流量導(dǎo)向某個(gè)指定區(qū)域
--add-interface=<網(wǎng)卡名稱(chēng)> 將來(lái)自于該網(wǎng)卡的所有流量都導(dǎo)向某個(gè)指定區(qū)域
--change-interface=<網(wǎng)卡名稱(chēng)> 將某個(gè)網(wǎng)卡與區(qū)域做關(guān)聯(lián)
--list-all 顯示當(dāng)前區(qū)域的網(wǎng)卡配置參數(shù)搀玖,資源,端口以及服務(wù)等信息
--list-all-zones 顯示所有區(qū)域的網(wǎng)卡配置參數(shù)驻呐,資源灌诅,端口以及服務(wù)等信息
--add-service=<服務(wù)名> 設(shè)置默認(rèn)區(qū)域允許該服務(wù)的流量
--add-port=<端口號(hào)/協(xié)議> 允許默認(rèn)區(qū)域允許該端口的流量
--remove-service=<服務(wù)號(hào)> 設(shè)置默認(rèn)區(qū)域不再允許該服務(wù)的流量
--remove-port=<端口號(hào)/協(xié)議> 設(shè)置默認(rèn)區(qū)域不再允許該端口的流量
--reload 讓“永久生效”的配置規(guī)則立即生效,覆蓋當(dāng)前的配置規(guī)則

特別需要注意的是firewalld服務(wù)有兩份規(guī)則策略配置記錄含末,必需要能夠區(qū)分:

RunTime:當(dāng)前正在生效的
Permanent:永久生效的
當(dāng)修改的是永久生效的策略記錄時(shí)眶熬,必須執(zhí)行"--reload"參數(shù)后才能立即生效,否則要重啟后再生效

查看當(dāng)前的區(qū)域:

[root@linux ~]# firewall-cmd --get-default-zone
public

查詢(xún)eth0網(wǎng)卡的區(qū)域:

[root@linux ~]# firewall-cmd --get-zone-of-interface=eth0
public

在public中分別查詢(xún)ssh與http服務(wù)是否被允許:

[root@linux ~]# firewall-cmd --zone=public --query-service =ssh
yes
[root@linux ~]# firewall-cmd --zone=public --query-service =http
no

設(shè)置默認(rèn)規(guī)則為dmz:

[root@linux ~]# firewall-cmd --set-default-zone=dmz

讓"永久生效"的配置文件立即生效:

[root@linux ~]# firewall-cmd --reload
success

啟動(dòng)/關(guān)閉應(yīng)急狀況模式拼岳,阻斷所有網(wǎng)絡(luò)連接:

應(yīng)急狀況模式啟動(dòng)后禁止之所有的網(wǎng)絡(luò)連接檐春,一切服務(wù)的請(qǐng)求也都會(huì)被拒絕,當(dāng)心肥惭,慎用盯仪。
[root@linux ~]# firewall-cmd --panic-on
success
[root@linux ~]# firewall-cmd --panic-off
success

允許https服務(wù)流量通過(guò)public區(qū)域,立即生效且永久生效

[root@linux ~]# firewall-cmd --permanent --zone=public --add-service=https
[root@linux ~]# firewall-cmd --reload

不再允許http服務(wù)流量通過(guò)public區(qū)域蜜葱,立即生效且永久生效

[root@linux ~]# firewall-cmd --permanent --zone=public --remove-service=http
success
[root@linux ~]# firewall-cmd --reload
success

允許8080與8081端口流量通過(guò)public區(qū)域全景,立即生效且永久生效

[root@linux ~]# firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
[root@linux ~]# firewall-cmd --reload

查看上一步加入的端口操作是否成功

[root@linux ~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp
[root@linux ~]# firewall-cmd --permanent --zone=public --list-ports
8080-8081/tcp

將eth0網(wǎng)卡的區(qū)域修改為external,重啟后生效

[root@linux ~]# firewall-cmd --permanent --zone=external --change-interface=eth0
success
[root@linux ~]# firewll-cmd --get-zone-of-interface=eth0
public

設(shè)置富規(guī)則牵囤,拒絕192.168.10.0/24網(wǎng)段的用戶(hù)訪問(wèn)ssh服務(wù)

firewalld服務(wù)的富規(guī)則用于對(duì)服務(wù)爸黄、端口滞伟、協(xié)議進(jìn)行更詳細(xì)的配置規(guī)則的優(yōu)先級(jí)最高。
[root@linux ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success

服務(wù)的訪問(wèn)控制列表

Tcp_wrappers是一款基于IP層的ACL訪問(wèn)控制列表流量監(jiān)控程序炕贵,它能夠根據(jù)來(lái)訪主機(jī)地址與本機(jī)目標(biāo)服務(wù)程序做允許或拒絕規(guī)則梆奈,控制列表修改后會(huì)立即生效,系統(tǒng)將會(huì)先檢查允許規(guī)則称开,如果匹配允許則直接放行流量鉴裹,若拒絕規(guī)則中匹配則直接拒絕;都不匹配默認(rèn)也放行

客戶(hù)端類(lèi)型 示例 滿(mǎn)足示例的客戶(hù)端列表
單一主機(jī) 192.168.10.10 IP地址為192.168.10.10的主機(jī)
指定網(wǎng)段 192.168.10. IP段為192.168.10.0/24的主機(jī)
指定網(wǎng)段 192.168.10.0/255.255.255.0 IP段為192.168.10.0/24的主機(jī)
指定DNS后綴 .linux.com 所有DNS后綴為linux.com的主機(jī)
指定主機(jī)名稱(chēng) bb.linux.com 主機(jī)名稱(chēng)為bb.linux.com的主機(jī)
指定所有客戶(hù)端 ALL 所有主機(jī)全部包括在內(nèi)
  • 限制只有192.168.10.0/24網(wǎng)段的主機(jī)可以訪問(wèn)本機(jī)的httpd服務(wù)

編輯允許規(guī)則:
[root@linux ~]# vim /etc/hosts.allow
httpd:192.168.10.
拒絕其他所有的主機(jī):
[root@linux ~]# vim /etc/hosts.deny
httpd:*

SSH服務(wù)管理

紅冒RHEL7(Centos7)系統(tǒng)將原先的守護(hù)進(jìn)程System V init替換成了全新的初始化進(jìn)程systemd(采用的是并發(fā)啟動(dòng)機(jī)制)钥弯,用systemd命令替換掉了很多管理命令径荔,使用nmtui命令配置網(wǎng)卡參數(shù)、手工將多塊網(wǎng)卡做綁定脆霎、使用nmcli命令查看網(wǎng)卡信息和使用ss命令查看網(wǎng)絡(luò)及端口狀態(tài)总处。基于密鑰遠(yuǎn)程登錄以及screen服務(wù)讓遠(yuǎn)程會(huì)話(huà)不再終斷睛蛛。
Linux操作系統(tǒng)開(kāi)機(jī)過(guò)程首先從BIOS>Boot Loader>加載內(nèi)核>內(nèi)核的初始化>啟動(dòng)初始化進(jìn)程
注:REHL7(6)默認(rèn)對(duì)應(yīng)的是Centos7(6)

  • 初始化進(jìn)程

RHEL7系統(tǒng)中systemd用"目標(biāo)(target)"代替了"運(yùn)行級(jí)別"的概念

Sysvinit運(yùn)行級(jí)別 Systemd目標(biāo)名稱(chēng) 作用
0 runlevel0.target,poweroff.target 關(guān)機(jī)
1 runlevel1.target, rescue.target 單用戶(hù)模式
2 runlevel2.target,multi-user.target 等同于級(jí)別3
3 runlevel3.target,multi-user.target 多用戶(hù)的文本界面
4 runlevel4.target,multi-user.target 等同于級(jí)別3
5 runlevel5.target,graphical.target 多用戶(hù)的圖形界面
6 runlevel6.target,reboot.target 重啟
emergency emergency.target 緊急shell

將默認(rèn)的運(yùn)行級(jí)別修改為"多用戶(hù)鹦马,無(wú)圖像模式"
[root@linux ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
將默認(rèn)的運(yùn)行級(jí)別修改為"圖形化模式"
[root@linux ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

  • 管理服務(wù)命令

systemctl管理服務(wù)的啟動(dòng)、重啟忆肾、停止荸频、重載、查看狀態(tài)的命令:

Sysvinit命令(紅冒REHL6系統(tǒng)) Systemctl命令(紅冒REHL7系統(tǒng)) 作用
service foo start systemctl start foo.servicce 啟動(dòng)服務(wù)
service foo restart systemctl restart foo.service 重啟服務(wù)
service foo stop systemctl stop foo.service 停止服務(wù)
servcie foo reload systemctl reload foo.service 重新加載配置文件(不終止服務(wù))
service foo status systemctl status foo.sercice 查看服務(wù)狀態(tài)

systemctl設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)客冈、不啟動(dòng)旭从、查看各級(jí)別下服務(wù)啟動(dòng)狀態(tài)的命令:

Sysvinit命令(紅冒REHL6系統(tǒng)) Systemctl命令(紅冒REHL7系統(tǒng)) 作用
chkconfig foo on systemctl enable foo.service 開(kāi)機(jī)自動(dòng)啟動(dòng)
chkconfig foo off systemctl disable foo.service 開(kāi)機(jī)不自動(dòng)啟動(dòng)
chkconfig foo systemctl is-enabled foo.service 查看特定服務(wù)是否為開(kāi)機(jī)自啟動(dòng)
chkconfig --list systemctl list-unit-files --type=service 查看各個(gè)級(jí)別下服務(wù)的啟動(dòng)與禁用情況
  • 監(jiān)視資源與管理進(jìn)程

系統(tǒng)進(jìn)程總共有5中不同的狀態(tài):

R(允許):正在允許或在運(yùn)行隊(duì)列中等待。
S(中斷):休眠中场仲,在等待某個(gè)條件的形成或接受到信號(hào)和悦。
D(不可中斷):收到信號(hào)不喚醒和不可運(yùn)行,進(jìn)程必須等待直到有中斷發(fā)生渠缕。
Z(僵死):進(jìn)程已終止鸽素,但進(jìn)程描述符存在,直到父進(jìn)程調(diào)用wait4()系統(tǒng)后釋放亦鳞。
T(停止):進(jìn)程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信號(hào)后停止運(yùn)行

ps命令用于查看系統(tǒng)中的進(jìn)程狀態(tài)馍忽,格式為:"ps [參數(shù)]"
查看進(jìn)程與狀態(tài):"ps -aux"
查找某個(gè)特定的進(jìn)程信息:"ps -aux | grep 進(jìn)程名"

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
進(jìn)程的所有者 進(jìn)程ID號(hào) 運(yùn)算器占用率 內(nèi)容占用率 虛擬內(nèi)存使用量(單位是KB) 占用的固定內(nèi)存量(單位是KB) 所在終端 進(jìn)程狀態(tài) 被啟動(dòng)的時(shí)間 實(shí)際使用CPU的時(shí)間 命令名稱(chēng)與參數(shù)
參數(shù) 作用
-a 顯示所有的進(jìn)程(包括其他用戶(hù)的)
-u 用戶(hù)以及其他詳細(xì)信息
-x 顯示沒(méi)有控制終端的進(jìn)程,通常和a一起用
-l 較長(zhǎng)燕差、較詳細(xì)的將該P(yáng)ID信息列出
-A 所有的進(jìn)程均顯示出來(lái)遭笋,與-e具有相同的作用
-f 做一個(gè)更為完整的輸出

TOP命令用于監(jiān)視進(jìn)程的活動(dòng)與系統(tǒng)負(fù)載,格式為:"top"
前五行行為系統(tǒng)整體的統(tǒng)計(jì)信息谁不,詳解如下:

第1行:系統(tǒng)時(shí)間坐梯,運(yùn)行時(shí)間,登陸用戶(hù)數(shù)刹帕,系統(tǒng)負(fù)載(分別是1分鐘吵血、5分鐘、15分鐘的平均值)
第2行:進(jìn)程總數(shù)偷溺,運(yùn)行中的蹋辅,睡眠中的,停止的挫掏,僵尸的
第3行:用戶(hù)占用資源侦另,系統(tǒng)內(nèi)核占用資源,改變過(guò)優(yōu)先級(jí)的進(jìn)程尉共,空閑的資源褒傅,等等輸入輸出的時(shí)間(以百分比格式顯示)
第4行:物理內(nèi)存總量,使用量袄友,空閑量殿托,作為內(nèi)核緩存的內(nèi)存量
第5行:虛擬內(nèi)存總量,使用量剧蚣,空閑量支竹,已被提前加載的內(nèi)存數(shù)據(jù)

進(jìn)程的信息區(qū)中包含了各個(gè)進(jìn)程的詳細(xì)信息,含義如下

PID:進(jìn)程ID號(hào)
USER:進(jìn)程的所有者
PR:優(yōu)先級(jí)
NI:優(yōu)先級(jí)(負(fù)值表示優(yōu)先級(jí)更高)
VIRT:虛擬內(nèi)存使用量
RES:物理內(nèi)存使用量
SHR:共享內(nèi)存大小
S:進(jìn)程狀態(tài)
%CPU:運(yùn)算器的使用百分比
%MEM:內(nèi)存的使用百分比
TIME+:使用CPU的時(shí)間(單位是1/100秒)
COMMAND:命令名稱(chēng)

pidof命令用于查詢(xún)某個(gè)特定程序的PID值鸠按,格式為:“pidof [參數(shù)] [程序名稱(chēng)]”
查詢(xún)“sshd”進(jìn)程的PID值:“pidof sshd”
kill命令用于終止某個(gè)特定PID號(hào)碼的進(jìn)程礼搁,格式為:“kill [參數(shù)] [進(jìn)程PID號(hào)]”
強(qiáng)制終止PID為4674的進(jìn)程:“kill -9 4674”
-9 代表強(qiáng)制終止
killall命令用于終止某個(gè)特定名稱(chēng)的所有進(jìn)程,格式為:“killall [參數(shù)] [進(jìn)程名稱(chēng)]”
終止名稱(chēng)為“sshd”的進(jìn)程:“killall sshd”

使用jobs命令可以看到所有在后臺(tái)運(yùn)行著的進(jìn)程:
bg命令可以讓后臺(tái)的程序繼續(xù)運(yùn)行目尖,格式為:“bg 1”
fg命令可以將后臺(tái)的進(jìn)程調(diào)回前臺(tái)馒吴,程序依然在允許,可以手動(dòng)停止

配置網(wǎng)卡連接網(wǎng)絡(luò)

Centos7網(wǎng)卡配置(nmtui瑟曲、圖形界面)
http://www.reibang.com/p/6a0ad99370d0
nmcli能夠查看網(wǎng)卡信息和網(wǎng)絡(luò)狀態(tài)
查看網(wǎng)卡的配置信息:nmcli connection show
查看網(wǎng)卡的連接狀態(tài):nmcli device status

ss命令用于查看本機(jī)的端口連接狀態(tài)募书,具體的參數(shù):

-a 顯示所有的套接字
-l 顯示所有連接狀態(tài)的套接字
-e 顯示詳細(xì)的套接字信息
-m 顯示套接字的內(nèi)存使用情況
-p 顯示套接字的進(jìn)程信息
-4 顯示ipv4的套接字信息
-6 顯示ipv6的套接字信息
-t 僅顯示tcp的套接字信息
-u 僅顯示udp的套接字信息
-n 不解析主機(jī)名(提升速度)
-s 查看概述

tracepath命令可以查看IP數(shù)據(jù)包從本機(jī)到另外一臺(tái)電腦經(jīng)過(guò)的路由信息,格式為:“tracepath 目標(biāo)地址(域名或IP地址均可)”
一般來(lái)講路由跳數(shù)越少测蹲,延時(shí)越低莹捡,訪問(wèn)速度越快

遠(yuǎn)程控制服務(wù)

sshd服務(wù)
sshd服務(wù)提供兩種安全驗(yàn)證的方法:
基于口令的安全驗(yàn)證:經(jīng)過(guò)驗(yàn)證賬號(hào)與密碼即可登錄到遠(yuǎn)程主機(jī)
基于秘鑰的安全驗(yàn)證:需要本地生成“秘鑰對(duì)”后將公鑰傳送到服務(wù)端進(jìn)行公共秘鑰的比較
sshd服務(wù)的配置文件解析:cat /etc/ssh/sshd_config

參數(shù) 作用
#Port 22 默認(rèn)的sshd服務(wù)端口
#ListenAddress 0.0.0.0 設(shè)定sshd服務(wù)端監(jiān)聽(tīng)的IP地址
#Protocol 2 SSH協(xié)議的版本號(hào)
#HostKey /etc/ssh/ssh_host_key SSH協(xié)議版本為1時(shí),私鑰存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH協(xié)議版本為2時(shí)扣甲,RSA私鑰存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH協(xié)議版本為2時(shí)篮赢,DSA私鑰存放的位置
#PermitRootLogin yes 設(shè)定是否允許root用戶(hù)直接登錄
#StrictModes yes 當(dāng)遠(yuǎn)程用戶(hù)私鑰改變時(shí)則直接拒絕連接
#MaxAuthTries 6 最大密碼嘗試次數(shù)
#MaxSessions 10 最大終端數(shù)
#PasswordAuthentication yes 是否允許密碼驗(yàn)證
#PermitEmptyPasswords no 是否允許空密碼登錄(很不安全)

ssh命令用于遠(yuǎn)程管理linux主機(jī),格式為“ssh [參數(shù)] 主機(jī)”
-p 指定連接端口(默認(rèn)為22)
-v 顯示連接過(guò)程的詳細(xì)信息

ssh連接圖例

安全密鑰驗(yàn)證
鏈接:http://www.reibang.com/p/2de68f87b170

遠(yuǎn)程傳輸命令

scp命令用于在網(wǎng)絡(luò)中安全的傳輸文件琉挖,格式為:“scp [參數(shù)] 本地文件 遠(yuǎn)程賬戶(hù)@遠(yuǎn)程IP地址:遠(yuǎn)程目錄”
-v 顯示詳細(xì)的連接進(jìn)度
-P 指定遠(yuǎn)程主機(jī)的sshd端口號(hào)
-r 傳送文件夾是請(qǐng)加此參數(shù)
-6 使用ipv6協(xié)議

不間斷會(huì)話(huà)服務(wù)

Screen服務(wù)
會(huì)話(huà)恢復(fù):即便網(wǎng)絡(luò)中斷启泣,也可讓會(huì)話(huà)隨時(shí)恢復(fù),用戶(hù)不會(huì)失去對(duì)命令行的控制
多窗口:每個(gè)會(huì)話(huà)都是獨(dú)立運(yùn)行的示辈,擁有獨(dú)立的編號(hào)寥茫、輸入輸出和窗口緩存
會(huì)話(huà)共享:可以使多個(gè)用戶(hù)從不同終端使用同一個(gè)會(huì)話(huà),也可以讓他們看到完全相同的輸出

1.安裝:yum install screen
2.Screen命令的常用命令參數(shù)包括:

-A 讓所有視窗自動(dòng)調(diào)整適應(yīng)當(dāng)前終端機(jī)的大小
-d<會(huì)話(huà)名稱(chēng)> 將指定的screen會(huì)話(huà)離線
-r<會(huì)話(huà)名稱(chēng)> 將指定的screen會(huì)話(huà)恢復(fù)
-h<行數(shù)> 指定視窗的緩沖區(qū)行數(shù)
-S<會(huì)話(huà)名稱(chēng)> 指定screen會(huì)話(huà)的名稱(chēng)
-x 恢復(fù)所有離線的會(huì)話(huà)
-ls或-lsit 顯示當(dāng)前的screen會(huì)話(huà)
--wipe 自動(dòng)將無(wú)法使用的screen會(huì)話(huà)刪除

3.創(chuàng)建與使用會(huì)話(huà)功能
完成安裝后直接運(yùn)行screen即可使用服務(wù)矾麻,推薦每個(gè)會(huì)話(huà)定義一個(gè)名字纱耻,方便分辨芭梯。
創(chuàng)建名稱(chēng)為backup的會(huì)話(huà)
[root@linux ~]# screen -S backup
查看當(dāng)前已經(jīng)存在的會(huì)話(huà)
[root@linux ~]# screen -ls
There is a screen on:
28556.back (Attached)
1 Socket in /var/run/screen/S-root.
當(dāng)執(zhí)行screen命令后會(huì)調(diào)用系統(tǒng)默認(rèn)的shell(通常即bash),所以敲完screen命令后hi立即返回一個(gè)命令提示符弄喘,雖然看起來(lái)與剛剛沒(méi)有變化玖喘,但此時(shí)已經(jīng)進(jìn)入screen會(huì)話(huà)
創(chuàng)建一個(gè)會(huì)話(huà),初始為用vim編輯器寫(xiě)文件:
[root@linux ~]# screen vim memo.txt //退出vim后會(huì)話(huà)也會(huì)被自動(dòng)刪除
回到back會(huì)話(huà)中
[root@linux ~]# screen -r back
將back會(huì)話(huà)離線
[root@linux ~]# screen -d back
[remote detached]
查看時(shí)已經(jīng)是離線了
[root@linux ~]# screen -ls
There is a screen on:
28925.back (Detached)
1 Socket in /var/run/screen/S-root.
總結(jié):將screen會(huì)話(huà)設(shè)置為暫時(shí)斷開(kāi)(detach)蘑志,那么會(huì)話(huà)窗口中的程序依然會(huì)執(zhí)行累奈。隨后將會(huì)話(huà)重新連接(attach),即可重新控制會(huì)話(huà)窗口中運(yùn)行的程序

4.會(huì)話(huà)共享功能
將兩個(gè)終端連入同一個(gè)服務(wù)器
在終端A上執(zhí)行創(chuàng)建會(huì)話(huà)的操作:
[root@linux ~]# screen -S back2
在終端B上執(zhí)行同步會(huì)話(huà)操作:
[root@linux ~]# screen -x
此時(shí)A上的任何操作都實(shí)時(shí)同步到B的屏幕上

使用Apache服務(wù)部署靜態(tài)網(wǎng)頁(yè)

可以提供web服務(wù)的程序:Linux(Apache、Nginx)急但、Windows(IIS)澎媒、中間件(Tomcat)
httpd服務(wù)目錄

服務(wù)目錄 /etc/httpd
配置文件 /etc/httpd/conf/httpd.conf
網(wǎng)站數(shù)據(jù)目錄 /var/www/html
訪問(wèn)日志 /var/log/httpd/access_log
錯(cuò)誤日志 /var/log/httpd/error_log

配置服務(wù)文件參數(shù) vim /etc/httpd/conf/httpd.conf

ServerRoot 服務(wù)目錄
ServerAdmin 管理員郵箱
User 運(yùn)行服務(wù)的用戶(hù)
Group 運(yùn)行服務(wù)的用戶(hù)組
ServerName 網(wǎng)站服務(wù)器的域名
DocumentRoot 網(wǎng)站數(shù)據(jù)目錄
Listen 監(jiān)聽(tīng)的IP地址與端口號(hào)
DirectoryIndex 默認(rèn)的索引頁(yè)頁(yè)面
Errorlog 錯(cuò)誤日志文件
CustomLog 訪問(wèn)日志文件
Timeout 網(wǎng)頁(yè)超時(shí)時(shí)間,默認(rèn)為30秒
Include 需要加載的其他文件

Apache服務(wù)程序的配置文件內(nèi)容分為三種類(lèi)型:“注釋行信息”波桩、“全局配置”戒努、“區(qū)域配置”

#This is the main Apache server configuration file...//注釋行信息
ServerRoot "/etc/httpd"   //全局配置
<Directory />
.....  //區(qū)域配置
</Directory>
......
<Location /server-status>
......  //區(qū)域配置
</Location>

強(qiáng)制訪問(wèn)控制安全子系統(tǒng)
SELinux讓系統(tǒng)中的各個(gè)服務(wù)進(jìn)程都受到約束,即僅能訪問(wèn)到所需要的文件

模式一:enforcing - 安全策略強(qiáng)制啟用模式突委,將會(huì)攔截服務(wù)的不合法請(qǐng)求
模式二:permissive - 遇到服務(wù)越權(quán)訪問(wèn)只會(huì)發(fā)出警告而不強(qiáng)制攔截
模式三:disable - 對(duì)于越權(quán)的行為不警告柏卤,也不攔截。

開(kāi)啟方法:
第一步:切換到SELinux服務(wù)的配置文件目錄“/etc/selinux”
第二步:編輯config文件將模式改為強(qiáng)制啟用SELINUX=enforcing

SELinux安全策略包括域和安全上下文:
SELinux域:對(duì)進(jìn)程資源進(jìn)行限制(查看方式:ps -Z)
SELinux安全上下文:對(duì)系統(tǒng)資源進(jìn)行限制(查看方式:ls -Z)

SELinux安全上下文是有冒號(hào)間隔的四個(gè)字段組成的
用戶(hù)段:root表示root賬戶(hù)身份匀油,user_u表示普通用戶(hù)身份缘缚,system_u表示系統(tǒng)進(jìn)程身份
角色段:object_r是文件目錄角色,system_r是一般進(jìn)程角色
類(lèi)型段:進(jìn)程和文件都有一個(gè)類(lèi)型用于限制存取權(quán)限

semanage命令用于查詢(xún)與修改SELinux的安全上下文,格式為:“semanage [選項(xiàng)] [文件]”

-l 查詢(xún)
-a 增加
-m 修改
-d 刪除

restorecon命令用于恢復(fù)SELinux文件安全上下文敌蚜,格式為:"restorecon [選項(xiàng)] [文件]"

-i 忽略不存在的文件
-e 排除目錄
-R 遞歸處理(針對(duì)目錄使用)
-v 顯示詳細(xì)的過(guò)程
-F 強(qiáng)制恢復(fù)

修改網(wǎng)站數(shù)據(jù)目錄的安全上下文:
[root@linux ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
修改網(wǎng)站數(shù)據(jù)的安全上下文(*代表所有文件或目錄)
[root@linux ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
這樣操作后查看到SELinux安全上下文依然沒(méi)有改變桥滨,再執(zhí)行restorecon命令
[root@linux ~]# restorecon -Rv /ho me/wwwroot/
再刷新瀏覽器可看到正常頁(yè)面(selinux開(kāi)啟狀態(tài)下)

使用Vsftpd服務(wù)傳輸文件

FTP協(xié)議占用兩個(gè)端口號(hào):
21端口:命令控制,用于接受客戶(hù)端執(zhí)行的FTP命令
20端口:數(shù)據(jù)傳輸弛车,用于上傳齐媒、下載文件數(shù)據(jù)
FTP數(shù)據(jù)傳輸?shù)念?lèi)型:
主動(dòng)模式:FTP服務(wù)端主動(dòng)向FTP客戶(hù)端發(fā)起連接請(qǐng)求
被動(dòng)模式:FTP服務(wù)端等待FTP客戶(hù)端的連接請(qǐng)求
Vsftpd服務(wù)具有安全性、完全開(kāi)源及免費(fèi)纷跛、速率高喻括、支持IPv6、虛擬用戶(hù)功能

安裝vsftpd服務(wù)
[root@linux ~]# yum -y install vsftpd
vsftpd的程序與配置文件
主程序 /usr/sbin/vsftpd
用戶(hù)禁止登陸列表 /etc/vsftpd/ftpusers
               /etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf

vsftpd程序配置文件參數(shù)作用:

參數(shù) 作用
listen=[YES][NO] 是否以獨(dú)立運(yùn)行的方式監(jiān)聽(tīng)服務(wù)
listen_address=IP地址 設(shè)置要監(jiān)聽(tīng)的IP地址
listen_port=21 設(shè)置FTP服務(wù)的監(jiān)聽(tīng)端口
download_enable=[YES][NO] 是否允許下載文件
userlist_enable=[YES][NO]
userlist_deny=[YES][NO]
是否啟用“禁止登錄用戶(hù)名單”
max_clients=0 最大客戶(hù)端連接數(shù)贫奠,0為不限制
max_per_ip=0 同一IP地址最大連接數(shù)唬血,0為不限制
anonymous_enable=[YES][NO] 是否允許匿名用戶(hù)訪問(wèn)
anon_upload_enable=[YES][NO] 是否允許匿名用戶(hù)上傳文件
anon_umask=022 匿名用戶(hù)上傳文件的umask值
anon_root=/var/ftp 匿名用戶(hù)的FTP根目錄
anon_mkdir_write_enable=[YES][NO] 是否允許匿名用戶(hù)創(chuàng)建目錄
anon_other_write_enable=[YES][NO] 是否開(kāi)放匿名用戶(hù)其他寫(xiě)入權(quán)限
anon_max_rate=0 匿名用戶(hù)最大傳輸速率(字節(jié)),0為不限制
local_enable=[YES][NO] 是否允許本地用戶(hù)登錄FTP
local_root=/var/ftp 本地用戶(hù)的FTP根目錄
chroot_local_user=[YES][NO] 是否將用戶(hù)權(quán)限禁錮在FTP目錄唤崭,更加安全
local_max_rate=0 本地用戶(hù)最大傳輸速率(字節(jié))拷恨,0為不限制
********************************** 以下這些是關(guān)于vsftpd虛擬用戶(hù)支持的重要配置項(xiàng)目
默認(rèn)的vsftpd.conf不包含這些設(shè)定項(xiàng)目, 需要自己手動(dòng)添加配置
guest_enable=YES 設(shè)定啟用虛擬用戶(hù)功能
guest_username=vsftpd 指定虛擬用戶(hù)的宿主用戶(hù)(這個(gè)是我們后面要新建的用戶(hù))
user_config_dir=/etc/vsftpd/vconf 設(shè)定虛擬用戶(hù)個(gè)人Vsftp的配置文件存放路徑
也就是說(shuō)谢肾,這個(gè)被指定的目錄里腕侄,將存放每個(gè)Vsftp虛擬用戶(hù)個(gè)性的配置文件, 一個(gè)需要注意的地方就是這些配置文件名必須和虛擬用戶(hù)名相同。
virtual_use_local_privs=YES 當(dāng)該參數(shù)激活(YES)時(shí)冕杠,虛擬用戶(hù)使用與本地用戶(hù)相同的權(quán)限
#當(dāng)此參數(shù)關(guān)閉(NO)時(shí)微姊,虛擬用戶(hù)使用與匿名用戶(hù)相同的權(quán)限。 默認(rèn)情況下此參數(shù)是關(guān)閉的(NO)拌汇。
pasv_min_port=9000 (設(shè)置被動(dòng)模式的端口范圍)
pasv_max_port=9045 (設(shè)置被動(dòng)模式的端口范圍)
accept_timeout=5 保持5秒
connect_timeout=1 1秒后重新連接

vsftpd的驗(yàn)證方式
vsftpd程序提供的FTP服務(wù)可選認(rèn)證方式柒桑,分別為匿名訪問(wèn)弊决、本地用戶(hù)和虛擬用戶(hù)
匿名訪問(wèn):任何人無(wú)需驗(yàn)證口令即可登入FTP客戶(hù)端
本地用戶(hù):使用FTP服務(wù)器中的用戶(hù)噪舀、密碼信息
虛擬用戶(hù):創(chuàng)建獨(dú)立的FTP賬號(hào)資料

虛擬用戶(hù)模式
vsftpd服務(wù)配置虛擬用戶(hù)的操作步驟:

第1步:建立虛擬FTP用戶(hù)文件
第2步:生成虛擬用戶(hù)數(shù)據(jù)庫(kù)文件
第3步:建立支持虛擬用戶(hù)的PAM認(rèn)證文件
第4步:創(chuàng)建FTP根目錄及虛擬用戶(hù)映射的系統(tǒng)用戶(hù)
第5步:為虛擬用戶(hù)設(shè)置不同的權(quán)限
第6步:重啟vsftpd服務(wù),驗(yàn)證實(shí)驗(yàn)效果

Centos6配置方法
第一步:先建立虛擬用戶(hù)名單文件:
[root@linux ~]# touch /etc/vsftpd/virtusers
編輯虛擬用戶(hù)名單文件:(第一行賬號(hào)飘诗,第二行密碼与倡,注意:不能使用root做用戶(hù)名,系統(tǒng)保留)
[root@linux ~]# vim /etc/vsftpd/virtusers
web1
123456
web2
123456
web3
123456

第二步:生成虛擬用戶(hù)數(shù)據(jù)文件:
[root@linux ~]# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db  #設(shè)定PAM驗(yàn)證文件昆稿,并指定對(duì)虛擬用戶(hù)數(shù)據(jù)庫(kù)文件進(jìn)行讀取
#如果生成虛擬用戶(hù)數(shù)據(jù)文件的時(shí)候出現(xiàn)以下錯(cuò)誤
#users.db-bash: db_load: command not found
#因?yàn)樵趫?zhí)行db命令時(shí)候軟件包沒(méi)有安裝
#db4 db4-devel db4-java db4-tcl db4-utils
#可以運(yùn)行yum install db4* 命令安裝

第三步:在/etc/pam.d/vsftpd(PAM認(rèn)證文件)的文件頭部加入以下信息(在后面加入無(wú)效)
修改前先備份
[root@linux ~]# cp /etc/pam.d/vsftpd  /etc/pam.d/vsftpdbak
恢復(fù)
[root@linux ~]# cp /etc/pam.d/vsftpdbak  /etc/pam.d/vsftpd
[root@linux ~]# vim /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意:如果系統(tǒng)為64位纺座,則上面的lib改為lib64,否則配置失敗

第四步:新建一個(gè)系統(tǒng)用戶(hù)vsftpd溉潭,用戶(hù)家目錄為/home/wwwroot, 用戶(hù)登錄終端設(shè)為/sbin/nologin(即使之不能登錄系統(tǒng))
[root@linux ~]# useradd vsftpd -d /home/wwwroot -s /sbin/nologin
[root@linux ~]# chown vsftpd:vsftpd /home/wwwroot -R
#chown apache:apache /home/wwwroot -R   #如果虛擬用戶(hù)的宿主用戶(hù)為apache净响,需要這樣設(shè)置。

第五步:建立虛擬用戶(hù)個(gè)人Vsftp的配置文件

[root@linux ~]# mkdir  /etc/vsftpd/vconf
[root@linux ~]# cd /etc/vsftpd/vconf
[root@linux ~]# touch web1 web2 web3 #這里創(chuàng)建三個(gè)虛擬用戶(hù)配置文件
[root@linux ~]# vim web1 #編輯用戶(hù)web1配置文件喳瓣,其他的跟這個(gè)配置文件類(lèi)似
local_root=/home/wwwroot/web1/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

第六步:最后重啟vsftpd服務(wù)器
[root@linux ~]# /etc/init.d/vsftpd restart
備注:guest_username=vsftpd    #指定虛擬用戶(hù)的宿主用戶(hù)(就是我們前面新建的用戶(hù))
如ftp的目錄是指向網(wǎng)站根目錄的馋贤,用來(lái)上傳網(wǎng)站程序的話(huà)
     guest_username=apache    #指定虛擬用戶(hù)的宿主用戶(hù)為apache運(yùn)行賬戶(hù),可以避免很多權(quán)限設(shè)置問(wèn)題

至此畏陕,vsftpd虛擬用戶(hù)模式配置完成配乓。(如果最后訪問(wèn)時(shí)只能下載,不能上傳惠毁,那就給虛擬用戶(hù)的家目錄更改權(quán)限)

可插拔認(rèn)證模塊PAM

PAM是一種認(rèn)證機(jī)制犹芹,通過(guò)一些動(dòng)態(tài)鏈接庫(kù)和統(tǒng)一的API將系統(tǒng)提供的服務(wù)與認(rèn)證方式分開(kāi),使得系統(tǒng)管理員可以根據(jù)需求靈活的調(diào)整服務(wù)程序的不同認(rèn)證方式鞠绰。
分層設(shè)計(jì)思想:應(yīng)用程序?qū)?應(yīng)用接口層-鑒別模塊層

PAM API

PAM模塊的重要目錄:
/lib/security:pam認(rèn)證模塊
/etc/pam.d:針對(duì)不同服務(wù)而定義好的pam配置文件

例如vsftpd程序就會(huì)在其主配置文件("/etc/vsftpd/vsftpd.conf")中寫(xiě)入下面的參數(shù):
pam_service_name=vsftpd
表示登錄ftp服務(wù)器時(shí)是根據(jù)/etc/pam.d/vsftpd的文件內(nèi)容進(jìn)行安全認(rèn)證的

使用Samba或NFS實(shí)現(xiàn)文件共享

NFS文件共享(NetworkFile System)是一個(gè)能夠?qū)⒍嗯_(tái)Linux的遠(yuǎn)程主機(jī)數(shù)據(jù)高中到本地目錄的服務(wù)腰埂,屬于輕量級(jí)的文件共享服務(wù),不支持Linux與Windows之間的文件共享蜈膨。
SMB(Server Messages Block)協(xié)議:實(shí)現(xiàn)局域網(wǎng)內(nèi)文件或打印機(jī)等資源共享服務(wù)的協(xié)議
Samba服務(wù)程序是一款基于SMB協(xié)議并由服務(wù)端和客戶(hù)端組成的開(kāi)源文件共享軟件屿笼,實(shí)現(xiàn)了Linux與Windows之間的文件共享(包括Linux之間)。

Samba服務(wù)

安裝Samba
[root@linux ~]# yum -y install samba
瀏覽Samba配置文件
[root@linux ~]# cat /etc/samba/smb.conf
如果只想要非注釋行丈挟,可以這樣
備份原始的配置文件
[root@linux ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
過(guò)濾無(wú)用的內(nèi)容:
[root@linux ~]# cat /etc/samba/smb.conf.bak|grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

smb.conf配置文件:

[global] 全局參數(shù)
workgroup = MYGROUP 工作組名稱(chēng)
server string = Samba Server Version %v 服務(wù)器介紹信息,參數(shù)%v為顯示SMB版本號(hào)
log file = /var/log/samba/log.%m 定義日志文件存放位置與名稱(chēng)刁卜,參數(shù)%m為來(lái)訪的主機(jī)名
max log size = 50 定義日志文件最大容量為50Kb
security = user 安全驗(yàn)證的方式,總共有四種
#share 來(lái)訪主機(jī)無(wú)需驗(yàn)證口令曙咽,更加方便蛔趴,安全性很差
#user 需由SMB服務(wù)驗(yàn)證來(lái)訪主機(jī)提供的口令后才可建立訪問(wèn),更加的安全
#server 使用獨(dú)立的遠(yuǎn)程主機(jī)驗(yàn)證來(lái)訪主機(jī)提供的口令(集中管理賬號(hào))
#domain 使用PDC來(lái)完成驗(yàn)證
passdb backend = tdbsam 定義用戶(hù)后臺(tái)的類(lèi)型例朱,共有3種
#smbpassword 使用SMB服務(wù)的smbpassword命令給系統(tǒng)用戶(hù)設(shè)置密碼
#tdbsam 創(chuàng)建數(shù)據(jù)庫(kù)文件并使用pdbedit建立SMB獨(dú)立的用戶(hù)
#ldapsam 基于LDAP服務(wù)進(jìn)行賬戶(hù)驗(yàn)證
load printers = YES 設(shè)置是否當(dāng)Samba服務(wù)啟動(dòng)時(shí)共享打印機(jī)設(shè)備
cpus options = raw 打印機(jī)的選項(xiàng)
[homes] 共享參數(shù)
comment = Home Directories 描述信息
browseable = no 指定共享是否在"共享鄰居"中可見(jiàn)
writable = yes 定義是否可寫(xiě)入操作孝情,與"read only"相反
[printers] 打印機(jī)共享參數(shù)
comment = All Printers
path = /var/spool/samba 共享文件的實(shí)際路徑(重要)
browseable = no
guest ok = no 是否所有人可見(jiàn)鱼蝉,等同于"public"參數(shù)
writable = no
printable = no

標(biāo)準(zhǔn)的Samba共享參數(shù)是這樣的:

參數(shù) 作用
[linux] 共享名稱(chēng)為linux
comment = Do not arbitrarily modify the database file 警告用戶(hù)不要隨意修改數(shù)據(jù)庫(kù)
path = /home/database 共享文件夾在/home/database
public = no 關(guān)閉所有人可見(jiàn)
writable = yes 允許寫(xiě)入操作

Samba安全共享文件
使用Samba口令驗(yàn)證模式更加安全,需要?jiǎng)?chuàng)建Samba服務(wù)獨(dú)立的數(shù)據(jù)庫(kù)

第1步:檢查當(dāng)前是否為user驗(yàn)證模式
[root@linux ~]# cat /etc/samba/smb.conf
    secuirty = user
    passdb_backend = tdbsam
第2步:創(chuàng)建共享文件夾
[root@linux ~]# mkdir /home/amb
第3步:描述共享文件夾信息
在smb.conf配置文件追加共享文件夾的配置參數(shù):
[database]
comment = Do not arbitrarily modify the database file
path = /home/smb
public = no
writable = yes
保存箫荡,重啟SMB服務(wù)
[root@linux ~]# service smb restart
[root@linux ~]# systemctl restart smb(Centos7)
添加開(kāi)機(jī)啟動(dòng)項(xiàng)
[root@linux ~]# chkconfig smb on
[root@linux ~]# systemctl enable smb(Centos7)
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/multi-user.target.wants/smb.service'
第4步:創(chuàng)建SMB服務(wù)獨(dú)立的賬號(hào)
SMB服務(wù)配置文件中密碼數(shù)據(jù)庫(kù)后臺(tái)類(lèi)型為"tdsam"魁亦,這里建立的是Samba獨(dú)立的賬號(hào)信息,使用pdbedit命令來(lái)創(chuàng)建

pdbedit命令用于管理SMB服務(wù)的賬戶(hù)信息數(shù)據(jù)庫(kù)羔挡,格式為:"pdbedit [選項(xiàng)] 賬戶(hù)"
-a 用戶(hù)名      建立Samba用戶(hù)
-x 用戶(hù)名      刪除Samba用戶(hù)
-L            列出用戶(hù)列表
-Lv           列出用戶(hù)詳細(xì)信息列表
創(chuàng)建SMB用戶(hù)(必須有一個(gè)系統(tǒng)用戶(hù)為基礎(chǔ))會(huì)產(chǎn)生一堆信息:
[root@linux ~]# pdbedit -a -u linux1
new password:設(shè)置SMB服務(wù)獨(dú)立的密碼
retype new password:
Unix username:        linux1
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2467017702-1858094485-2934556939-1000
Primary Group SID:    S-1-5-21-2467017702-1858094485-2934556939-513
Full Name:
Home Directory:       \\portal\linux1
HomeDir Drive:
Logon Script:
Profile Path:         \\portal\linux1\profile
Domain:               PORTAL
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Fri, 25 Aug 2017 00:47:40 CST
Password can change:  Fri, 25 Aug 2017 00:47:40 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
第5步:使用windows訪問(wèn)
在Windows主機(jī)的運(yùn)行框中輸入遠(yuǎn)程主機(jī)的信息\\192.167.10.124
輸入剛剛創(chuàng)建的SMB用戶(hù)密碼洁奈,應(yīng)該是登錄成功的
第6步:使用Linux掛載驗(yàn)證(客戶(hù)端操作)
安裝cifs-utils軟件包
[root@linux ~]# yum -y install cifs-utils
創(chuàng)建掛載目錄:
[root@linux ~]# mkdir /smb
在root家目錄創(chuàng)建認(rèn)證文件(依次為SMB用戶(hù)名、SMB密碼绞灼、SMB共享域)
[root@linux ~]# vim auth.smb
username=linux1
password=linux1
domain=MYGROUP
設(shè)置權(quán)限:
[root@linux ~]# chmod 600 auth.smb
配置掛載信息(內(nèi)容依次為遠(yuǎn)程共享信息利术、本地掛載目錄、文件系統(tǒng)類(lèi)型低矮、認(rèn)證文件印叁、開(kāi)機(jī)自檢選項(xiàng))
[root@linux ~]# vim /etc/fstab
//192.168.9.124/database(這個(gè)寫(xiě)服務(wù)端配置文件里的[database]名稱(chēng))      /root/smb                       cifs    credentials=/root/smb/auth.smb  0 0
使用mount命令的-a參數(shù)掛載所有 在fatab文件中定義的文件信息:
[root@linux ~]# mount -a                  #報(bào)錯(cuò)檢查本機(jī)掛載的目錄和服務(wù)端的[名字]
通過(guò)df -h和進(jìn)入掛載目錄查看文件來(lái)驗(yàn)證~~

NFS網(wǎng)絡(luò)文件系統(tǒng)

安裝nfs服務(wù)
[root@linux ~]# yum -y install nfs-utils
第1步:創(chuàng)建NFS服務(wù)端共享目錄
[root@linux ~]# mkdir /bak
NFS服務(wù)端配置文件"/etc/exports",用于定義共享的目錄及相應(yīng)的權(quán)限
[root@linux ~]# vim /etc/exports
//格式為:共享目錄的絕對(duì)路徑 允許訪問(wèn)的NFS客戶(hù)端(權(quán)限參數(shù))
/bak 192.168.2.*(rw,sync,root_squash)
NFS配置共享的參數(shù)有:
ro        只讀默認(rèn)
rw       讀寫(xiě)模式
root_squash      當(dāng)NFS客戶(hù)端使用root用戶(hù)訪問(wèn)時(shí)军掂,映射為NFS服務(wù)端的匿名用戶(hù)
no_root_squash    當(dāng)NFS客戶(hù)端使用root用戶(hù)訪問(wèn)時(shí)轮蜕,映射為NFS服務(wù)端的root用戶(hù)
all_squash    不論NFS客戶(hù)端使用任何賬戶(hù),均映射為NFS服務(wù)端的匿名用戶(hù)
sync    同時(shí)將數(shù)據(jù)寫(xiě)入到內(nèi)存與硬盤(pán)中蝗锥,保證數(shù)據(jù)不丟失
async   優(yōu)先將數(shù)據(jù)保存到內(nèi)存跃洛,然后再寫(xiě)入硬盤(pán),效率更高玛追,但可能造成數(shù)據(jù)丟失
第2步:?jiǎn)?dòng)NFS服務(wù)端
NFS服務(wù)是依賴(lài)于RPC服務(wù)的税课,RHEL7中已經(jīng)默認(rèn)運(yùn)行,無(wú)需再配置RPC服務(wù)
[root@linux ~]# systemctl status rpcbind
啟動(dòng)nfs-server服務(wù)
[root@linux ~]# systemctl start nfs-server
設(shè)置NFS服務(wù)端為開(kāi)機(jī)啟動(dòng)
[root@linux ~]# systemctl enable nfs-server
第3步:配置NFS客戶(hù)端
如果NFS客戶(hù)端也是RHEL7系統(tǒng)痊剖,那么軟件包nfs-utils一定也是已經(jīng)默認(rèn)安裝韩玩,直接掛載就好
showmount命令用于查詢(xún)NFS服務(wù)端共享信息,格式為:“showmount [參數(shù)] [遠(yuǎn)程主機(jī)]”
-e    顯示NFS服務(wù)端的共享列表
-a    顯示本機(jī)掛載NFS資源的情況
-v    顯示版本號(hào)
查詢(xún)遠(yuǎn)程N(yùn)FS服務(wù)端中可用的共享資源:
[root@linux ~]# showmount -e 192.168.2.2
Export list for 192.168.2.2:
/bak (everyone)
創(chuàng)建本地掛載目錄:
[root@linux ~]# mkdir /bak
[root@linux ~]# mount -t nfs 192.168.2.2:/bak /bak
開(kāi)機(jī)自動(dòng)掛載NFS到本地
[root@linux ~]# vim /etc/fstab
192.168.2.2:/bak /bak nfs defaults 0 0

AutoFs自動(dòng)掛載服務(wù)
作為一個(gè)守護(hù)進(jìn)程陆馁,只有檢測(cè)到用戶(hù)試圖訪問(wèn)一個(gè)尚未掛載的文件系統(tǒng)時(shí)才自動(dòng)的檢測(cè)并掛載該文件系統(tǒng)找颓。較/etc/fstab相比節(jié)約了網(wǎng)絡(luò)與系統(tǒng)資源

安裝autofs服務(wù):
[root@linux ~]# yum install autofs
啟動(dòng)autofs服務(wù)并加入開(kāi)機(jī)啟動(dòng)
[root@linux ~]# systemctl start autofs
[root@linux ~]# systemctl enable autofs
ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
修改autofs主配置文件(格式為:掛載目錄 映射配置文件)
[root@linux ~]# vim /etc/auto.master
/media /etc/iso.misc
編輯掛載配置參數(shù)文件(映射文件)
[root@linux ~]# vim /etc/auto.misc
iso -fstype=iso9660,ro,nosuid,nodev:/dev/cdrom
重新加載啟動(dòng)autofs服務(wù)
[root@linux ~]# systemctl restart autofs
進(jìn)入自動(dòng)掛載目錄就可以看到掛載的目錄了叮贩。

使用Bind提供域名解析服務(wù)

DNS域名解析服務(wù)(Domain Name System)是用于解析域名與IP地址對(duì)應(yīng)關(guān)系的服務(wù)击狮,功能上可以實(shí)現(xiàn)正向解析和反向解析:
正向解析:根據(jù)主機(jī)名(域名)查找對(duì)應(yīng)的IP地址
反向解析:根據(jù)IP地址查找對(duì)應(yīng)的主機(jī)名(域名)
從工作形式上分為主服務(wù)器、從服務(wù)器和緩存服務(wù)器

未完待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末益老,一起剝皮案震驚了整個(gè)濱河市彪蓬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捺萌,老刑警劉巖档冬,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡酷誓,警方通過(guò)查閱死者的電腦和手機(jī)披坏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盐数,“玉大人棒拂,你說(shuō)我怎么就攤上這事∶登猓” “怎么了帚屉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)琐旁。 經(jīng)常有香客問(wèn)我涮阔,道長(zhǎng)猜绣,這世上最難降的妖魔是什么灰殴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮掰邢,結(jié)果婚禮上牺陶,老公的妹妹穿的比我還像新娘。我一直安慰自己辣之,他們只是感情好掰伸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著怀估,像睡著了一般狮鸭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上多搀,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天歧蕉,我揣著相機(jī)與錄音,去河邊找鬼康铭。 笑死惯退,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的从藤。 我是一名探鬼主播催跪,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼夷野!你這毒婦竟也來(lái)了懊蒸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤悯搔,失蹤者是張志新(化名)和其女友劉穎骑丸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡者娱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年抡笼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黄鳍。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡推姻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出框沟,到底是詐尸還是另有隱情藏古,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布忍燥,位于F島的核電站拧晕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梅垄。R本人自食惡果不足惜厂捞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望队丝。 院中可真熱鬧靡馁,春花似錦、人聲如沸机久。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)膘盖。三九已至胧弛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侠畔,已是汗流浹背结缚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留践图,地道東北人掺冠。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像码党,于是被迫代替她去往敵國(guó)和親德崭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容