运维第五周作业

  1. SUDO,PAM配置规范说明
    sudo:
    是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
    具体工作过程如下:
    当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
    –>确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
    –>若密码输入成功,则开始执行sudo后续的命令
编辑配置文件的方式
# 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

image.png

PAM
1、pam介绍
在linux中,PAM是指可动态加载验证模块,是一套共享库,使本地系统管理员可以随意选择程序的认证方式;因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。PAM使用配置“/etc/pam.d/”下的文件,来管理对程序的认证方式。应用程序 调用相应的配置文件,从而调用本地的认证模块。
2、pam查看命令
通过ldd命令查看服务名,确定服务是否使用pam功能(pam服务对应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系统PAM配置
/lib/security目录存放pam模块文件

pam_access.so 控制访问者地址与账号名称
pam_listfile.so 控制访问者的账号名称或登录位置
pam_limits.so 控制为用户分配的资源
pam_rootok.so 对管理员(uid=0)无条件允许通过
pam_userdb.so 设定独立用户账号数据库认证

/etc/pam.d目录存放使用pam的服务名

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认证、鉴权时使用的配置文件,如limits.conf
通过配置文件增改删进程的鉴权规则

  1. chrony搭建私有ntp服务
    服务端配置
    1、服务端安装chrony
    rpm -q chrony && > /dev/null || yum -y install chrony

2、服务端修改配置文件,注释默认时钟地址添加网络时钟服务器地址

vim /etc/chrony.conf
#pool 2.pool.ntp.org iburst  #注释掉自带的
server ntp.aliyun.com iburst #和阿里云的服务器同步
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 #加上这一行,指定允许同步的网段

# Serve time even if not synchronized to a time source.
#local stratum 10 #将这一行的注释去掉。表示互联网无法连接时,仍然可以为客户端提供时间同步

3、重启chrony服务,并查看chrony端口是否启用
systemctl restart chronyd.service

客户端配置
编辑配置文件,并重启chrony服务

1、修改配置为服务端地址
vim /etc/chrony.conf 
#注释点默认服务器,添加上之前设置好的时间服务器
#pool 2.pool.ntp.org iburst
server 192.168.217.132 iburst

2、重启服务
systemctl restart chronyd.service 
  1. 说明CDN原理
    其实 CDN 就是内容分发网络的意思,其英文全称为 Content Delivery Network。简单地说,CDN 可以提前把数据存在离用户最近的数据节点,从而避免长途跋涉经过长途骨干网,最终达到减少骨干网负担、提高访问速度的目的。

CDN 基本工作过程

1、浏览器发起图片 URL 请求,经过本地 DNS 解析,会将域名解析权交给域名 CNAME 指向的 CDN 专用 DNS 服务器。
2、CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回给浏览器。
3、浏览器向 CDN 全局负载均衡设备发起 URL 请求。
4、CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的 URL,选择一台用户所属区域的区域负载均衡设备,向其发起请求。
5、区域负载均衡设备会为用户选择最合适的 CDN 缓存服务器(考虑的依据包括:服务器负载情况,距离用户的距离等),并返回给全局负载均衡设备。
6、全局负载均衡设备将选中的 CDN 缓存服务器 IP 地址返回给用户。
7、用户向 CDN 缓存服务器发起请求,缓存服务器响应用户请求,最终将用户所需要偶的内容返回给浏览器。

image.png
  1. 搭建智能DNS,实现不同地域客户端解析到不同主机
    主DNS服务器操作
1、配置网卡
 [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; };
 
 # 创建 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、区域配置文件
 [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、区域数据库文件
 [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、生效配置文件
 # 第一次启动服务
 systemctl start named
 
 # 不是第一次启动服务
 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

  1. 解释DNS解析流程
    DNS服务工作原理(递归查询:负责到底,迭代查询不会负责到底)
    通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。


    image.png
  • 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址
  • 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址
  • 权威 DNS 服务器 :返回相应主机的 IP 地址
    image.png

    域名解析过程
    image.png

1、客户机提出域名解析请求,并将该请求发送给本地的域名服务器
2、当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.
3、如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.
4、本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.
5、重复第四步,直到找到正确的纪录.
6、本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.

  1. iptables 5表5链解释
    五表
    filter:过滤规则表,根据预定义的规则过滤符合条件的数据包(默认表)
    nat:地址转换规则表
    mangle:修改数据标记位规则表
    raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
    security:用于强制访问控制(MAC)网络规则,由 Linux 安全模块(如 SELinux)实现

优先级
security --> raw --> mangle --> nat --> filter

五链
INPUT链:处理输入数据包
OUTPUT链:处理输出数据包
FORWARD链:处理转发数据包
PREROUTING链:用于目标地址转换(DNAT)
POSTOUTING链:用于源地址转换(SNAT)

数据报文流向
到本机某进程的报文:PREROUTING –> INPUT
由本机转发的报文:PREROUTING –> FORWARD –> POSTROUTING
由本机的某进程发出报文(通常为响应报文):OUTPUT –> POSTROUTING

表链关系

PREROUTING 的规则可以存在于:raw表,mangle表,nat表
INPUT 的规则可以存在于:mangle表,filter表
FORWARD 的规则可以存在于:mangle表,filter表
OUTPUT 的规则可以存在于:raw表mangle表,nat表,filter表
POSTROUTING 的规则可以存在于:mangle表,nat表

  1. iptables/firewalld/nftable 实现主机防火墙。5000-6000端口仅192.168.0.0/24网段内的主机访问

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'

  1. mysql的各发行版有哪些 ?

常见 MySQL 发行版本:

MySQL 官方版本:分为社区版和企业版,企业版性能略强,提供了更多的功能和工具
Percona MySQL:基于官方社区版本二次开发,增加了一些 MySQL 官方企业版才有的功能,同时对官方社区版进行了一些优化
MariaDB:MySQL 初创者开发,很大程度上兼容 MySQL,可以很容易的将数据从 MySQL 迁移到 MariaDB 上

  1. mysql索引的作用
    MySQL索引一般是用于加速表的查询的,索引一般分为
1.主键索引:基于主键做的索引,比如订单表的编号是自动增长的(auto_increment),同时订单号又是主键,可以做基于订单号的索引

2.聚簇索引:数据data和索引index放在一起,形成一个磁盘上的文件

3.B+TREE索引:索引上只存放索引信息,基本分为一层根节点+一层分支节点,下面都是数据了,查询效率最高,一般的MySQL表都是BTREE索引,同时下面的数据都是加了链表的,数据都是有链接起来的,查询速度快,节省性能--->一般来说都是b_tree索引

10.mysql btree索引的原理
B-Tree 结构的数据可以让系统高效的找到数据所在的磁盘块


image.png

B树的搜索,从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询关键字所属范围的儿子结点;重复,直到所对应的儿子指针为空,或已经是叶子结点

  1. mysql安全加固?

执行mysql_secure_installation 修改mysql密码、删除匿名账户、测试库等。
限制连入数据库的网段。
开启二进制日志、慢查询日志。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容