- SUDO,PAM配置規(guī)范說明
sudo:
是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具
具體工作過程如下:
當(dāng)用戶執(zhí)行sudo時,系統(tǒng)會主動尋找/etc/sudoers文件,判斷該用戶是否有執(zhí)行sudo的權(quán)限
–>確認(rèn)用戶具有可執(zhí)行sudo的權(quán)限后,讓用戶輸入用戶自己的密碼確認(rèn)
–>若密碼輸入成功,則開始執(zhí)行sudo后續(xù)的命令
編輯配置文件的方式
# sudoedit /etc/sudoers
# vim /etc/sudoers
# visudo
[root@oracle11g ~]# cat /etc/sudoers | grep -v "#"| grep -v "^$"
Defaults !visiblepw
Defaults always_set_home
Defaults match_group_by_gid
Defaults always_query_group_plugin
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
%test ALL=(ALL) ALL
格式: who which_hosts=(runas) command

PAM
1、pam介紹
在linux中,PAM是指可動態(tài)加載驗證模塊,是一套共享庫,使本地系統(tǒng)管理員可以隨意選擇程序的認(rèn)證方式;因為可以按需要動態(tài)的對驗證的內(nèi)容進(jìn)行變更,所以可以大大提高驗證的靈活性。PAM使用配置“/etc/pam.d/”下的文件,來管理對程序的認(rèn)證方式。應(yīng)用程序 調(diào)用相應(yīng)的配置文件,從而調(diào)用本地的認(rèn)證模塊。
2、pam查看命令
通過ldd命令查看服務(wù)名,確定服務(wù)是否使用pam功能(pam服務(wù)對應(yīng)libpam*.so庫文件)
ldd /usr/sbin/sshd
linux-vdso.so.1 => (0x00007fff1b8ef000)
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f579f2d8000)
libpam.so.0 => /lib64/libpam.so.0 (0x00007f579f0cb000)
3、Linux系統(tǒng)PAM配置
/lib/security目錄存放pam模塊文件
pam_access.so 控制訪問者地址與賬號名稱
pam_listfile.so 控制訪問者的賬號名稱或登錄位置
pam_limits.so 控制為用戶分配的資源
pam_rootok.so 對管理員(uid=0)無條件允許通過
pam_userdb.so 設(shè)定獨立用戶賬號數(shù)據(jù)庫認(rèn)證
/etc/pam.d目錄存放使用pam的服務(wù)名
ogin -------/etc/pam.d/login
ipop3d -------/etc/pam.d/pop
vsftpd -------/etc/pam.d/ftp(編譯安裝)或/etc/pam.d/vsftpd(rpm安裝)
sshd -------/etc/pam.d/sshd
su -------/etc/pam.d/su
/etc/security/目錄存放pam認(rèn)證、鑒權(quán)時使用的配置文件,如limits.conf
通過配置文件增改刪進(jìn)程的鑒權(quán)規(guī)則
- chrony搭建私有ntp服務(wù)
服務(wù)端配置
1、服務(wù)端安裝chrony
rpm -q chrony && > /dev/null || yum -y install chrony
2、服務(wù)端修改配置文件,注釋默認(rèn)時鐘地址添加網(wǎng)絡(luò)時鐘服務(wù)器地址
vim /etc/chrony.conf
#pool 2.pool.ntp.org iburst #注釋掉自帶的
server ntp.aliyun.com iburst #和阿里云的服務(wù)器同步
server time1.cloud.tencent.com iburst #和騰訊云同步
# Allow NTP client access from local network.
#allow 192.168.0.0/16
allow 192.168.217.0/24 #加上這一行,指定允許同步的網(wǎng)段
# Serve time even if not synchronized to a time source.
#local stratum 10 #將這一行的注釋去掉。表示互聯(lián)網(wǎng)無法連接時,仍然可以為客戶端提供時間同步
3、重啟chrony服務(wù),并查看chrony端口是否啟用
systemctl restart chronyd.service
客戶端配置
編輯配置文件,并重啟chrony服務(wù)
1、修改配置為服務(wù)端地址
vim /etc/chrony.conf
#注釋點默認(rèn)服務(wù)器,添加上之前設(shè)置好的時間服務(wù)器
#pool 2.pool.ntp.org iburst
server 192.168.217.132 iburst
2、重啟服務(wù)
systemctl restart chronyd.service
- 說明CDN原理
其實 CDN 就是內(nèi)容分發(fā)網(wǎng)絡(luò)的意思,其英文全稱為 Content Delivery Network。簡單地說,CDN 可以提前把數(shù)據(jù)存在離用戶最近的數(shù)據(jù)節(jié)點,從而避免長途跋涉經(jīng)過長途骨干網(wǎng),最終達(dá)到減少骨干網(wǎng)負(fù)擔(dān)、提高訪問速度的目的。
CDN 基本工作過程
1、瀏覽器發(fā)起圖片 URL 請求,經(jīng)過本地 DNS 解析,會將域名解析權(quán)交給域名 CNAME 指向的 CDN 專用 DNS 服務(wù)器。
2、CDN 的 DNS 服務(wù)器將 CDN 的全局負(fù)載均衡設(shè)備 IP 地址返回給瀏覽器。
3、瀏覽器向 CDN 全局負(fù)載均衡設(shè)備發(fā)起 URL 請求。
4、CDN 全局負(fù)載均衡設(shè)備根據(jù)用戶 IP 地址,以及用戶請求的 URL,選擇一臺用戶所屬區(qū)域的區(qū)域負(fù)載均衡設(shè)備,向其發(fā)起請求。
5、區(qū)域負(fù)載均衡設(shè)備會為用戶選擇最合適的 CDN 緩存服務(wù)器(考慮的依據(jù)包括:服務(wù)器負(fù)載情況,距離用戶的距離等),并返回給全局負(fù)載均衡設(shè)備。
6、全局負(fù)載均衡設(shè)備將選中的 CDN 緩存服務(wù)器 IP 地址返回給用戶。
7、用戶向 CDN 緩存服務(wù)器發(fā)起請求,緩存服務(wù)器響應(yīng)用戶請求,最終將用戶所需要偶的內(nèi)容返回給瀏覽器。

- 搭建智能DNS,實現(xiàn)不同地域客戶端解析到不同主機(jī)
主DNS服務(wù)器操作
1、配置網(wǎng)卡
[root@master01 ~]# hostname -I
10.0.0.10 20.0.0.10
2、主配置文件vim /etc/named.conf
# 在最上方添加
acl beijingnet {
10.0.0.0/24;
};
acl shanghainet {
20.0.0.0/24;
};
acl othernet {
any;
};
# 注釋兩行
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhost; };
# 創(chuàng)建 view
view beijingview {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.beijing";
};
view shanghaiview {
match-clients { shanghainet; };
include "/etc/named.rfc1912.zones.shanghai";
};
view otherview {
match-clients { othernet; };
include "/etc/named.rfc1912.zones";
};
# 刪除此行
include "/etc/named.rfc1912.zones;
3、區(qū)域配置文件
[root@master01 ~]# vim /etc/named.rfc1912.zones
zone "." IN {
type hint;
file "named.ca";
};
zone "test.com" IN {
type master;
file "test.com.zone";
};
[root@master01 ~]# vim /etc/named.rfc1912.zones.beijing
zone "." IN {
type hint;
file "named.ca";
};
zone "test.com" IN {
type master;
file "test.com.zone.beijing";
};
[root@master01 ~]# vim /etc/named.rfc1912.zones.shanghai
zone "." IN {
type hint;
file "named.ca";
};
zone "test.com" IN {
type master;
file "test.com.zone.shanghai";
};
4、區(qū)域數(shù)據(jù)庫文件
[root@master01 ~]# vim /var/named/test.com.zone
$TTL 1D
@ IN SOA master test.com. ( 1 1D 6H 1W 1D )
NS master
master A 10.0.0.10
[root@master01 ~]# vim /var/named/test.com.zone.beijing
$TTL 1D
@ IN SOA master test.com. ( 1 1D 6H 1W 1D )
NS master
master A 10.0.0.10
www A 1.1.1.1
[root@master01 ~]# vim /var/named/test.com.zone.shanghai
$TTL 1D
@ IN SOA master test.com. ( 1 1D 6H 1W 1D )
NS master
master A 10.0.0.10
www A 2.2.2.2
5、生效配置文件
# 第一次啟動服務(wù)
systemctl start named
# 不是第一次啟動服務(wù)
rndc reload
客戶端測試
[root@test01 ~]# host www.test.com @10.0.0.10
www.test.com. 86400 IN A 1.1.1.1
[root@test01 ~]# dig www.test.com @20.0.0.10
www.test.com. 86400 IN A 2.2.2.2
-
解釋DNS解析流程
DNS服務(wù)工作原理(遞歸查詢:負(fù)責(zé)到底,迭代查詢不會負(fù)責(zé)到底)
通過主機(jī)名,最終得到該主機(jī)名對應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)。
image.png
- 根 DNS 服務(wù)器 :返回頂級域 DNS 服務(wù)器的 IP 地址
- 頂級域 DNS 服務(wù)器:返回權(quán)威 DNS 服務(wù)器的 IP 地址
- 權(quán)威 DNS 服務(wù)器 :返回相應(yīng)主機(jī)的 IP 地址
image.png
域名解析過程
image.png
1、客戶機(jī)提出域名解析請求,并將該請求發(fā)送給本地的域名服務(wù)器
2、當(dāng)本地的域名服務(wù)器收到請求后,就先查詢本地的緩存,如果有該紀(jì)錄項,則本地的域名服務(wù)器就直接把查詢的結(jié)果返回.
3、如果本地的緩存中沒有該紀(jì)錄,則本地域名服務(wù)器就直接把請求發(fā)給根域名服務(wù)器,然后根域名服務(wù)器再返回給本地域名服務(wù)器一個所查詢域(根的子域)的主域名服務(wù)器的地址.
4、本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請求,然后接受請求的服務(wù)器查詢自己的緩存,如果沒有該紀(jì)錄,則返回相關(guān)的下級的域名服務(wù)器的地址.
5、重復(fù)第四步,直到找到正確的紀(jì)錄.
6、本地域名服務(wù)器把返回的結(jié)果保存到緩存,以備下一次使用,同時還將結(jié)果返回給客戶機(jī).
- iptables 5表5鏈解釋
五表
filter:過濾規(guī)則表,根據(jù)預(yù)定義的規(guī)則過濾符合條件的數(shù)據(jù)包(默認(rèn)表)
nat:地址轉(zhuǎn)換規(guī)則表
mangle:修改數(shù)據(jù)標(biāo)記位規(guī)則表
raw:關(guān)閉啟用的連接跟蹤機(jī)制,加快封包穿越防火墻速度
security:用于強(qiáng)制訪問控制(MAC)網(wǎng)絡(luò)規(guī)則,由 Linux 安全模塊(如 SELinux)實現(xiàn)
優(yōu)先級
security --> raw --> mangle --> nat --> filter
五鏈
INPUT鏈:處理輸入數(shù)據(jù)包
OUTPUT鏈:處理輸出數(shù)據(jù)包
FORWARD鏈:處理轉(zhuǎn)發(fā)數(shù)據(jù)包
PREROUTING鏈:用于目標(biāo)地址轉(zhuǎn)換(DNAT)
POSTOUTING鏈:用于源地址轉(zhuǎn)換(SNAT)
數(shù)據(jù)報文流向
到本機(jī)某進(jìn)程的報文:PREROUTING –> INPUT
由本機(jī)轉(zhuǎn)發(fā)的報文:PREROUTING –> FORWARD –> POSTROUTING
由本機(jī)的某進(jìn)程發(fā)出報文(通常為響應(yīng)報文):OUTPUT –> POSTROUTING
表鏈關(guān)系
PREROUTING 的規(guī)則可以存在于:raw表,mangle表,nat表
INPUT 的規(guī)則可以存在于:mangle表,filter表
FORWARD 的規(guī)則可以存在于:mangle表,filter表
OUTPUT 的規(guī)則可以存在于:raw表mangle表,nat表,filter表
POSTROUTING 的規(guī)則可以存在于:mangle表,nat表
- iptables/firewalld/nftable 實現(xiàn)主機(jī)防火墻。5000-6000端口僅192.168.0.0/24網(wǎng)段內(nèi)的主機(jī)訪問
iptables -A INPUT -p tcp --dport 5000:6000 ! -s 192.168.0.0/24 -j REJECT
firewalld-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 port port=5000-6000 accept'
- mysql的各發(fā)行版有哪些 ?
常見 MySQL 發(fā)行版本:
MySQL 官方版本:分為社區(qū)版和企業(yè)版,企業(yè)版性能略強(qiáng),提供了更多的功能和工具
Percona MySQL:基于官方社區(qū)版本二次開發(fā),增加了一些 MySQL 官方企業(yè)版才有的功能,同時對官方社區(qū)版進(jìn)行了一些優(yōu)化
MariaDB:MySQL 初創(chuàng)者開發(fā),很大程度上兼容 MySQL,可以很容易的將數(shù)據(jù)從 MySQL 遷移到 MariaDB 上
- mysql索引的作用
MySQL索引一般是用于加速表的查詢的,索引一般分為
1.主鍵索引:基于主鍵做的索引,比如訂單表的編號是自動增長的(auto_increment),同時訂單號又是主鍵,可以做基于訂單號的索引
2.聚簇索引:數(shù)據(jù)data和索引index放在一起,形成一個磁盤上的文件
3.B+TREE索引:索引上只存放索引信息,基本分為一層根節(jié)點+一層分支節(jié)點,下面都是數(shù)據(jù)了,查詢效率最高,一般的MySQL表都是BTREE索引,同時下面的數(shù)據(jù)都是加了鏈表的,數(shù)據(jù)都是有鏈接起來的,查詢速度快,節(jié)省性能--->一般來說都是b_tree索引
10.mysql btree索引的原理
B-Tree 結(jié)構(gòu)的數(shù)據(jù)可以讓系統(tǒng)高效的找到數(shù)據(jù)所在的磁盤塊

B樹的搜索,從根結(jié)點開始,對結(jié)點內(nèi)的關(guān)鍵字(有序)序列進(jìn)行二分查找,如果命中則結(jié)束,否則進(jìn)入查詢關(guān)鍵字所屬范圍的兒子結(jié)點;重復(fù),直到所對應(yīng)的兒子指針為空,或已經(jīng)是葉子結(jié)點
- mysql安全加固?
執(zhí)行mysql_secure_installation 修改mysql密碼、刪除匿名賬戶、測試庫等。
限制連入數(shù)據(jù)庫的網(wǎng)段。
開啟二進(jìn)制日志、慢查詢?nèi)罩尽?/p>


