Linux-RHCE8学习笔记

文章目录

RHCE8学习笔记(持续更新中。。。。。)

第零章 RHCE8管理

Root登录

username: root
password: Asimov

启动服务器

rht-vmctl status all  # 查看各台虚拟机状态
rht-vmctl start all   # 启动各台虚拟机
rht-vmctl stop all    # 关闭各台虚拟机

远程登录

ssh root@servera
ssh root@serverb

第一章 Linux概述+使用技巧

准备工作:启动各台虚拟机,远程登录练习机a、b

rht-vmctl start all 
ssh root@servera
ssh root@serverb

帮助手册

whatis IS
IS --help

目录操作命令

pwd    # 树状目录结构
cd     # 切换目录 cd.. 上一个目录 cd / 根目录 
ls -l  # (== ll) 查看目录下文件
ll -d  # 直接查看目录属性,不看目录内容

目录属性介绍

dr-xr-xr-x.   2 root root       4096  222 2012 bin

第一列:d,-,f,b,c,l,p d:目录,-/f:文件
第二列(中间的九列): 所有者、组内、组外权限-------------rwx分别表示读写执行 -表示没有该权限
第三列: 文件硬链接数或目录子目录数
第四列,第五列: 所有者、所属组
第六列: 大小
第七列: 创建日期、时间
第八列: 名字

修改权限

chmod 777 rhel-server-6.0-i386-dvd.iso 

777: rwxrwxrwx 三位为一组,-表示0,其他表示1 转换为十进制后的数字

单个修改:

chmod u+w,g-w,o+x rhel-server-6.0-i386-dvd.iso

u–>root,g–>组内,o–>组外

创建,删除命令

mkdir kkkkkba  # 创建名为kkkkkba文件夹
touch kkkkkba  # 创建名为kkkkkba的文件
rm -rf xxx 	   # 删除xxx

第一章 课后作业

  1. 叙述RHCE8多虚拟机环境架构。

    Window–>VMware16–>物理机foundation0–>Virtual Machine Manager(KVM)–>

    ​ bastion(网关服务器)

    ​ workstation(工作站服务器)

    ​ servera(练习机a)

    ​ serverb(练习机b)

    ​ classroom(环境服务器)

  2. 简述远程登录虚拟机servera的步骤。

    先使用ping servera测试连通性,可以Ping通的情况下再运行ssh root@servera,密码是:redhat。登录成功后,显示的主机名是servera

  3. 简述关闭多虚拟机环境的步骤。

    使用完毕后,可以在servera或serverb环境下运行exit退回到foundation0,在foundation0终端窗口中运行poweroff命令关机,此时回返回到VMware16界面,再关闭VMware16界面即可。

    注意:一定要正常关闭foundation0,否则下次可能会无法启动

  4. 如果虚拟机出现故障,给出四种解决方法。

    1. 始终 ping 不通servera或serverb解决方法:rht-vmctl status all 查看是否所有虚拟机都处于 running 状态,如果有没有运行的虚拟机,单独启动它,例如如虚拟机 bastion 未启动,则运行命令rht-vmctl start bastion
    2. 某台虚拟机始终无法启动解决方法:rht-vmctl fullreset all-q // 全部重置虚拟机,-q 表示无需交互,直接确认
    3. 物理机foundation0 无法启动解决方法:恢复快照
    4. 恢复快照物理机foundationo 仍然无法启动解决方法:重新解压压缩文件,在VMware16 中打开新解压的系统
  5. 简述红帽Linux认证考试的三个等级是什么?

    初级 red hat Certified System Administrator

    中级 red hat Certified Engineer

    高级 red hat Certified Architect

  6. 什么是Linux的发行版本和内核版本。

    2.6.32-71.el6.i686

    发行版本:2.6.32

    内核版本:el6

  7. 查看Linux内核版本的命令是什么?简述Linux内核版本各部分的含义。

    uname -r
    2.6.32-71.el6.i686
    4.18.0-80.el8.x86_64
    # 主版本号.次版本号.修正号
    # 次版本号分奇数与偶数
    
  8. 简述Linux在日常生活中无处不在的八个方面。

    ​ 1.安卓内核

    ​ 2.电影行业

    ​ 3.银行系统(ATM)

    ​ 4.政府机构

    ​ 5.游戏服务器

    ​ 6.IBM的Watson超级计算机

    ​ 7.金融领域(证券交易)

    ​ 8.交通领域(航空调度系统)

  9. 简述Linux使用过程中的四种帮助命令的用法。

    (1)whatis ls(如果无法使用whatis帮助,可以运行命令mandb加载帮助手册)

    (2)ls --help

    (3)man iscsiadm(/表示搜索;/EXAMPLES搜索实例;:n表示调转到第n行;n表示下一个;shift+n表示上一个;g表示跳转到第一行;shift+g(或G)表示跳转到最后一行;man -f等效于whatis)

    (4)info ls

  10. 简述Linux使用过程中的七种技巧的用法。

    (1)history(history -c清空当前历史命令;history -w将历史命令保存到历史命令文件/root/.bash_history中;)
    (2)clear(ctrl+l) 清屏幕
    (3)上下建 切换上/下一条命令
    (4)Tab 补全
    (5)!$ (表示调用上一条命令中的最后一个参数)
    (6)!keyword (表示倒序检索历史缓存中的最近命令列表,首个匹配的命令会被重复执行)
    (7)强行退出的6方种方法

    ​ Ctrl + C Ctrl + B Ctrl + D exit quit 右上角关闭

第二章 破解root用户密码

准备工作rht-vmctl start all

破解密码步骤

  1. 打开VMM,在虚拟机servera的菜单栏上点击"Send Key”,选择Ctrl+Alt+Delete重启servera;进入之后快速点击上下键,将屏幕定格,然后选择第一项,按e编辑启动配置文件
  2. 找的linux开头的一行行尾添加rd.break console=tty0
  3. 按Ctrl+x启动
  4. 以读写的方式重新挂载根目录,可以先使用mount命令查看当前已经挂载的/sysroot目录的属性为只读ro mount -o remount
  5. 切换根目录 chroot /sysroot
  6. 使用passwd命令重置密码
  7. 创建重置SELinux安全上下文的文件 touch /.autorelable
  8. exit *2 退出重启

第三章 文件操作管理

vim编辑器的使用

vim kkkkkba.txt # 打开文件,若没有该文件则先创建文件,再打开

两种模式:

  • 命令模式 --> 按i 进入插入模式
  • 插入模式 --> 按esc进入命令模式

十种技巧

  1. 存盘退出:wq ,

直接退出:q!

另存为:w /tmp/kkkkkba.txt

  1. u 撤销操作

  2. ctrl+r 重做操作

  3. /word 查找关键字

  4. : noh 取消查找出的背景色

  5. :n/n+gg 定位到指定行

跳转到行首”0”;跳转到行尾”$”或END键跳转到文档首”gg”;跳转到文档尾为”G”

小写字母”o”表示在当前行的下一行新插入一行并且切换到插入模式
大写字母“A”在当前行的行尾插入
大写字母“I”在当前行的行首插入

  1. :set nu 插入行号
    :set nonu 取消行号

  2. 剪切当前行内容dd,粘贴p(只能粘贴到光标所在行的下一行)
    复制当前行内容yy,粘贴p(只能粘贴到光标所在行的下一行)
    当需要复制多行内容时,要先切换到可视化模式下(shift+v可视化行模式,y结合光标移动复制多行,p粘贴)
    光标上下左右移动使用快捷键kjhl

  3. :% s/111/666/g 替换全部 把111全部替换成666
    :% s/111/666 只替换每一行中的第一个匹配项
    :% s/111/666/gi 替换全部,忽略大小写

  4. 把当前文件中的连续几行另存到一个新文件中 :1,5 w /tmp/bgl.txt
    把其它文件的内容读取到当前文件中来 :r /etc/hosts

用户家目录与控制台

用户的家目录问题

  • 超级用户的家目录:/root
  • 普通用户的家目录:/home/kkkkkba001
# 创建用户
useradd kkkkkba002
passwd kkkkkba002
# 切换用户 su - / su  (高级权限用户切换低级权限用户不需要密码,反之需要密码)
su - kkkkkba002 
su kkkkkba002 # 不完全的身份跳转,只切换用户名,不切换家目录 
  1. 重定向技术

    1. 查看文件内容的命令more,cat

    ​ 区别: 分屏显示/无分屏

    1. 重定向的概念

    1. 重定向
    • 标准输出重定向符 >
    • 标准追加重定向符 >>
    • 标准错误重定向符 2>
    • 错误追加重定向符 2>>
    • 全部重定向 &>
    • 全部追加重定向符 &>>
    • 输入重定向
  2. find查找命令

    find / --name "*kkkkba*" --type f --user kkkkkba001
    

    –name 按名称查找

    –type 按类型查找 f/d

    –user 按用户查找

    高阶技巧

    • 以张三身份建立三个文件abc1.txt,abc2.txt,abc3.txt

    • 测试查找这三个文件

      find / -name "*abc*" -type f -user 
      
    • 高级技巧:查找并删除

      find / -name "*abc*" -type f -user kkkkkba -exec rm -rf {} \;
      

      -exec 把前一个命令的输出作为参数传给第二个命令

      \ 结尾!!

  3. mv移动命令

    • 移动+重命名

      mv 111.txt /home/kkkkkba001/222.txt

    • 移动

      mv 222.txt /root/

    • 移动+覆盖

      mv -f /root/222.txt /home/kkkkkba001/

    • 移动目录

      mv /root/qqq /home/zhangsan001/

  4. cp复制命令

    • 复制+重命名

      cp 222.txt /333.txt

    • 复制(覆盖)

      cp 333.txt /home/kkkkkba001/

    • 复制(不覆盖)

      cp -n 333.txt /

    • 复制目录及子目录

      cp -r qqq /

  5. grep 在文件内容中查找

    • 查找qqq.txt中的word

      grep word qqq.txt

    • 查找+重定向

      grep word qqq.txt > qqq1.txt

    • grep "^network" aaa.txt

    • grep "network$" aaa.txt

    • 查找当前目录下名字含有为aaa的文件

      ls | grep aaa

      |管道符,可以把前边命令的结果输出给后边的命令作为其输入

第三章 课后作业

  1. VI编辑器的两种模式是什么,各自有什么作用?如何在这两种模式间切换。

    命令模式:主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

    编辑模式:录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。

    命令模式按 a/i/o 进入编辑模式

    编辑模式 按esc 进入命令模式

  2. 超级用户root与普通用户的家目录分别位于哪个目录下。

    root家目录: /root

    普通用户家目录: /home/用户名

  3. 简述命令提示符各部分的含义。

    [aaa@bbbb ccc ]

    aaa 当前用户

    bbb 主机名称
    ccc 当前目录

  4. 简述切换用户的原则;“su”命令与“su -”命令的区别。

    su 只切换root身份,shell任是普通用户

    -su 用户和shell 都切换

  5. 简述六种重定向符号及其含义。

    1、> 标准重定向符

    2、>> 标准追加重定向符

    3、2> 标准错误重定向符

    4、2>> 错误追加重定向符

    5、&> 全部重定向符

    6、&>> 全部追加重定向符

  6. 简述find命令中的三种基本参数的用法并列举实例说明。

    find -name "kkk" -type f	-user kkkkkba
    #	-name	指定查询名字
    #	-type	指定查询类型d/f
    #	-useR	指定查询用户
    
  7. 要求:在根目录下建立自己的学号目录,并创建一个自己名字汉语拼音的用户,以该用户的身份建立几个普通文件(文件名中要包含字符abc),使用一条find命令在/目录下查找类型为普通文件,所有者为自己名字汉语拼音的用户,名称中包含abc的对象,并将找到的结果拷贝到“/学号”目录中(只能用一条find命令实现)

    find -name "*abc*" -type f -user kkkkkba -exec mv {} /2012138 \
    

第四章 用户与组管理

添加用户

useradd kkkkkba001
passwd  kkkkkba001

Linux系统底层的四个连锁反映
创建该用户的家目录/home/a001
vim /etc/passwd(多了一行该用户的记录)
vim /etc/shadow(影子文件中多一行密码记录)
vim /etc/group(组信息文件中多一行记录,即自动创建同名组)

账户信息文件/etc/passwd中七个字段的含义

a001:x:504:505::/home/a001:/bin/bash
用户名:密码:用户ID:组ID:注释信息:家目录:shell

组信息文件/etc/group中四个字段的含义

a001:x:505:
test:x:502:harry,sam
组名:组密码:组ID:该组中包含的其他用户名.

影子文件/etc/shadow两个字段的含义

kkkkkba:xxxxxxx....xxxxxxx
用户名:加密后的密码

用户管理之userdel命令的用法

# 不彻底删除  
userdel kkkkkba001
tail -1 /etc/passwd # kkkkkba001 信息还存在
# 彻底删除
userdel -rf kkkkkba001

用户管理之usermod命令的用法

usermod -u 600 -s /sbin/nologin kkkkkba001
tail -3 /etc/passwd
  • -c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s  修改用户登入后所使用的shell。
  • -u  修改用户ID。
  • -U  解除密码锁定。

组管理之groupadd命令的用法

# 添加组
groupadd k001
tail -3 /etc/group

组管理之groupdel命令的用法

groupdel k001
tail -3 /etc/group

删除组时,无法删除第一所属组,若要操作

  1. 删除用户
  2. 去除第一所属组属性

组和用户的关系

  1. 添加组

    gpasswd -a (添加)用户名 组名  //将用户添加到组
    gpasswd -a b001 group1
    gpasswd -a b002 group1
    gpasswd -a b003 group1
    tail -3 /etc/group
    group1:x:604:b001,b002,b003
    

    查看用户与组的关系

    • 站在组的角度 — 列出用户与组的关系(group第四个字段)

      tail -3 /etc/passwd
      # d001:X:1003:1003::/home/d001:/bin/bash
      # d002:x:1004:1004::/home/d002:/bin/bash
      # d003:x:1005:1007:/home/d003:/bin/bash
      tail -3 /etc/group
      # d003:X:1007:
      # f001:X:1008:d001,d002,d003
      # f002:X:1009:
      
    • 站在用户的角度

      grops d001
      # d001: d001 f001	
      
  2. 删除组

    gpasswd -d(删除) b003 group1  # (无法改变[添加、删除]第一所属组)
    tail -3 /etc/group
    
  3. 查询用户所在组

    groups k001
    

chown命令的使用方法

# chpwn 所有者:所属组
(1)chown b001:group1 qqq1.txt # 设置新的所有组和所有者 所属组由所有者第一所属组填充
(2)chown :root qqq1.txt 
(3)chown b003: qqq1.txt # (自动以该用户私有组替换)

第四章 课后作业

  1. 简述添加用户yz后,Liux系统底层的四个连锁反映。

    家目录 多了一个xz文件夹

    /etc/passwd 多了一行用户记录

    /etc/shoadw 多了一行密码记录

    /etc/group 多了一行同名记录

  2. 简述账户信息文件“/etc/passwd”中七个字段的含义。

    用户名:密码:用户ID:组ID:注释信息:家目录:shell

  3. 简述组信息文件“/etc/group”中四个字段的含义。

    组名:组密码:组ID:该组中包含的其他用户名

  4. 彻底的删除一个用户的方法及删除后对应的四个连锁反映是什么。

    userdel -rf kkkkkba
    
    • 删除用户家目录
    • 删除/etc/passwd中的用户记录
    • 删除/etc/shoadw中的密码记录
    • 删除/etc/group中的同名组
  5. 如何修改一个具有“/sbin/nologin”这种shel‖的用户,使其又能重新本地登录inux系统(使用两种方法)。

    usermod -s /bin/login k001
    
    # 直接修改/etc/passwd 中对应用户的/sbin/nologin
    
  6. 如何使用passwd命令将一个用户添加到一个组中,将一个用户从一个组中删除掉,举例说明。

    添加:gpasswd -a k001 f001

    删除:gpasswd -d k001 f001

  7. 如何修改一个用户的primary group,举例说明。

    usermod -g group2 k001
    
  8. 如何修改一个用户的supplementary groups,.举例说明(使用两种方法)。

    usermod -G group2 k001
    
    gpasswd -a group2 k001
    
  9. 如何修改一个对象的所有者与所属组,举例说明。

    chmod  root:group1 kkkkkba.txt
    
  10. 创建两个用户aaa1与aaa2,要求实现用户21可以登录到用户aaa2的家日录中,且具有任何权限。

    usreadd aaa1
    useradd aaa2
    chmod 777 /home/aaa2
    

第五章 高级权限

反掩码

查看反掩码 --> usmak

反掩码作用

目录的缺省权限= 777-UMASK

文件的缺省权限= 777-UMASK-111(无X)

修改反掩码 usmak 0001

普通用户反掩码 0002

SUID权限弥补

(主要针对文件,所有者执行位变成了s或S)

(1)查看passwd命令所执行脚本,其中有高级权限SUID

ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
# -rwsr-xr-x.  执行位为s

(2)创建普通用户并切换用户测试命令passwd (不能修改密码)

#useradd a001
#passwd a001
#su - a001
$ passwd
Changing password for user a001.
Changing password for a001.
(current) UNIX password: a001

(3)返回root用户将passwd命令SUID高级权限去除

# chmod u-s /usr/bin/passwd 
# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

(4)再次切换普通用户a001,测试命令passwd (成功修改密码)

(5)s与S的区别(s表示该执行位原先具有x权限)

ll /usr/bin/passwd 
# -rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd
chmod u-x /usr/bin/passwd 
ll /usr/bin/passwd 
# -rwSr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd
chmod u+x /bin/ping
# -rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

SGID权限弥补

(主要针对目录,组内成员的执行位变成了s)

groupadd qqq
chown :qqq 111
# drwxr-xr-x. 2 root qqq    4096 11月 12 16:31 111
chmod g+s 111
# drwxr-sr-x. 3 root qqq    4096 11月 12 17:44 111

STICK粘滞位

(其他用户的执行位变成了t)

共享目录存在的问题:用户之间可以随意删除对方的文件,如果管理员开放所有权限位

若使用STICK则可以实现共享目录只有创建用户可修改删除操作

chmod o+t /share
# drwxrwxrwt.   2 root root       4096 11月 12 18:11 share

ACL访问控制列表

(可以针对文件或目录)

为指定用户增加rwx权限

(1)如何查看文件的ACL信息(准备工作vim /123.txt)
getfacl 123.txt

getfacl 123.txt
# file:123.txt
# owner:root
# group: root
user::rw-
group:r--
other:r--

(2)如何修改文件的ACL信息
setfacl -m u:lisi:rw- /123.txt

[rootaserverb ~]setfacl -m u:kkkkkba:rw- 1234.txt
[root@serverb ~]getfacl 1234.txt
# file:1234.txt
# owner:root
# group:root
user:rw-
user:kkkkkba:rw-
group:r--
mask:rw-
other::r--

使用ll命令查看该文件时会发现多了一个+,表示其设置过ACL
-rw-rw-r--+ 1 root root 86 11月 12 18:40 123.txt

(4)如何删除文件的ACL信息

# 不彻底删除(使用ll命令末尾`+`还存在)
setfacl -x u:kkkkkba /123.txt
getfacl /123.txt
# 彻底删除一个文件或目录的ACL信息
chacl -B 123.txt 

(5)设置目录的ACL信息
setfacl -m d:u:lisi:rwx /345

(参数d表示在/345目录中新建的文件或目录会自动继承/345目录的ACL信息值,但要注意:ACL真正的效果仍然体现在对文件的操作上,即对文件修改时才能看出效果)

setfacl -m d:u:lisi:rwx /345
getfacl /345


# fi1e:345
# owner:root
# group:root
user:rwx
group:r-x
other:r-x
default:user:rwx
default:user:kkkkkba:rwx
default:group:r-x
default:mask:rwx
default:other:r-x

cd 345
touch aaa.txt
ll | grep aaa
# -rw-rw-r--+ 1 rootroot 0 Mar 30 21:38 aaa.txt

(6)当移动一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是会移动的;当复制一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是不会复制的,只有在cp命令后加上-p参数才可以。 cp -p 222.txt /tmp/2222.txt

mv aaa.txt /
ll / | grep aaa
# -rw-rw-r--+ 1 root root 0 Mar 30 21:38 aaa.txt
cp aaa.txt /aaa.txt
# -rw-rw-r-- 1 root root 0 Mar 30 21:38 aaa.txt
cp aaa.txt /aaa.txt -p
# -rw-rw-r--+ 1 root root 0 Mar 30 21:38 aaa.txt

补充知识:

chmod 7777 111.txt
# -rwsrwsrwt 
chmod 1777 111.txt    
# -rwxrwxrwt 
chmod 3777 111.txt
# -rwxrwsrwt 

第五章 课后作业

  1. 简述UMASK反掩码的作用。

    控制默认权限

  2. 查看及修改UMASK反掩码的命令是什么并举例说明。

    umask
    

    查看: umask

    修改: umask 1111

  3. SUID权限弥补的表现形式及作用分别是什么?

    表现形式:所有者的执行位变为s/S

    作用:使文件的创建者拥有全部权限

  4. SUID权限弥补的s与S的区别是什么?

    若用户无写权限 执行位变为s

    若用户有写权限 执行位变为S

  5. 写出去掉文件/usr/bin/passwd的SUID权限的命令;给文件/usr/bin/passwd添加SUID权限的命令。

    chmod u-s /user/bin/passwd
    
    chmod u+s /user/bin/passwd
    
  6. SGID权限弥补的表现形式及作用分别是什么?

    表现形式:组内成员的执行位变为s

    作用:sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。

  7. STICK粘滞位的表现形式及作用分别是什么?

    表现形式:其他用户的执行位变为t

    作用:sticky权限一般针对目录来设置,作用是只允该目录下的文件的创建者删除自己的创建的文件,不允许其他人删除文件。

  8. 写出在根目录下建立自己学号的子目录,并将其设置为STICK粘滞位目录的命令。

    mkdir /2012138
    chmod -R o+t  /2012138
    
  9. 写出查看文件“/tmp/aaa.txt”ACL属性的命令;写出为文件“/tmp/aaa.txt”设置ACL属性的命令(例如为zhangsan用户设置ACL,使其具有“读写执行”的权限);写出删除文件“/tmp/aaa.txt”的ACL属性的命令(例如删除zhangsan用户对该文件具有的“读写执行”权限的ACL信息)。

    ll /tmp/ | grep aaa.txt
    setfacl -m u:zhangsan:rwx /tmp/aaa.txt
    setfacl -x g:zhangsan /tmp/aaa.txt
    
  10. 叙述命令chmod 7777 111.txt的作用。

> 将文件的root、组内、组外权限设置为 rwx 并设置SUID SGID STICK权限

第六章 YUM软件仓库技术

RPM软件包的使用技巧

(在物理机foundation上操作)

注意:自己的笔记本上可以在foundation0上执行 cd /content/rhel8.0/x86_64/dvd/BaseOS/Packages和cd /content/rhel8.0/x86_64/dvd/AppStream/Packages测试

  1. 如何查询指定软件包是否安装

    rpm -q httpd
    rpm -q cifs-utils
    rpm -q vsftpd
    
  2. **如何删除指定软件包 **

    rpm -e cifs-utils 
    rpm -e vsftpd 
    rpm -e httpd**
    
  3. **如何安装指定软件包(注意:保证在Packages目录下有需要安装的rpm包) **

    rpm -ivh cifs-utils-6.8-2.el8.x86_64.rpm    (在系统光盘挂载目标目录的BaseOS/Packages下有cifs-utils的rpm包) 
    rpm -ivh vsftpd*   (在系统光盘挂载目标目录的AppStream/Packages下有vsftpd的rpm包)
    
  4. **问题:依赖性关系(rpm -e httpd) **

    rpm -e httpd rpm -ivh httpd

    • 安装A包时,存在前驱依赖包B,C,则不能安装,需要先安装B,C包再安装A包

    • 删除A包时,若此包为B,C包的依赖包,则不能删除,老的系统管理员,先删除BC再删除A包

YUM软件仓库的配置及使用

(在物理机foundation上操作)三点注意事项+五行参数

  1. 回环挂载RHEL8系统镜像文件/mnt/iso

    mount -o loop rhel-8.0-x86_64-dvd.iso /mnt/iso
    du -sh /mnt/iso
    
  2. 修改YUM软件仓库的配置文件

    一定要将目录切换到YUM软件仓库的工作目录/etc/yum.repos.d/下才有效;工作目录下的配置文件必须以.repo结尾;有且只有一个repo

    vim /etc/yum.repos.d/server.repo
    

    录入五个参数

    [base]                             //[]里写软件仓库的名称,一般使用base.
    name=my rhel8                      //name后写软件仓库的全称
    baseurl=file:///mnt/iso/BaseOS     //baseurl后写软件仓库的绝对路径  
    enabled=1                          //启用该软件仓库
    gpgcheck=0                         //不校验软件包(即不进行签名检查)
    [local_app]
    name=local iso app
    baseurl=file:///mnt/iso/AppStream
    enabled=1
    gpgcheck=0
    

    注意:在笔记本测试时baseurl=file:///content/rhel8.0/x86_64/dvd/BaseOS;

    ​ 另一个baseurl=file:///content/rhel8.0/x86_64/dvd/AppStream
    eg:

    [kkkkkbabase]
    name=kkkkkba yum Base                     
    baseurl=file:///content/rhel8.0/x86_64/dvd/BaseOS  
    enabled=1                          
    gpgcheck=0                        
    [kkkkkba_app]
    name=kkkkkba yum App
    baseurl=file:///content/rhel8.0/x86_64/dvd/AppStream
    enabled=1
    gpgcheck=0
    
  3. 验证软件仓库的方法

    yum clean all   //清空YUM缓存
    yum makecache  //建立缓存,此步可跳过
    yum repolist(会看到1658/4672个包)
    

YUM常见命令使用技巧

  1. 查询指定的软件包

    yum search vsftpd
    
  2. 查询指定软件的详细信息(可以判断该软件包是否安装)

    yum info vsftpd
    yum info autofs
    yum info httpd
    yum info httpd*
    rpm -e httpd		# (依赖性关系问题,无法删除)
    
  3. 如何安装指定的软件包

    yum install vsftpd
    yum info vsftpd
    yum -y install autofs
    
  4. 如何删除指定的软件包

    yum -y erase httpd*
    yum info httpd
    
  5. 查看yum环境组

     yum grouplist
    
  6. 安装组内软件包

    yum groupinstall 'Development Tools'
    
  7. 查看某个文件或命令属于哪个包

    yum whatprovides /etc/passwd
    yum provides /etc/passwd
    
  8. 追根溯源

    yum history
    

通过指定的HTTP或FTP服务器设置YUM软件仓库源

(在虚拟机servera上操作)

ssh root@servera
cd /etc/yum.repos.d/
cat rhel_dvd.repo
[rhel-8.0-for-x86_64-baseos-rpms]
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
enabled = true
gpgcheck = false
name = Red Hat Enterprise Linux 8.0 BaseOS (dvd)
[rhel-8.0-for-x86_64-appstream-rpms]
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/AppStream
enabled = true
gpgcheck = false
name = Red Hat Enterprise Linux 8.0 AppStream (dvd)

eg:

[kkkkkbabase]
name = kkkkkba yun Base
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
enabled = true
gpgcheck = false
[kkkkkba_app]
name = kkkkkba yun App
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/AppStream
enabled = true
gpgcheck = false

YUM软件仓库的命令配置方法(在物理机foundation上操作)

yum whatprovides yum-config-manager
rpm -ivh dnf-utils-4.0.2.2-3.el8.noarch
yum-config-manager --help
  1. yum-config-manager --disable ucf-upd //禁用该软件仓库,等效于enabled=0

    yum repolist   // 可以看到如下三段软件仓库ucf-rhel-8-for-x86_64-appstream-rpms,ucf-rhel-8-for-x86_64-baseos-rpms,ucf-upd
    yum-config-manager --disable ucf-upd   //禁用ucf-upd段软件仓库
    yum repolist   // 再次查看,只能看到两段软件仓库
    
  2. yum-config-manager --enable ucf-upd //启用该软件仓库,等效于enabled=1

    cd /etc/yum.repos.d/
    mkdir bck
    mv *.repo bck/
    yum repolist
    
  3. **yum-config-manager --add-repo file:///content/ucf/ //添加新的软件仓库,包括本地源与网络源
    本地源测试:

    ll /content/ucf/     //可以看到有Package包目录和repodata目录 
    yum-config-manager --add-repo file:///content/ucf/ 
    yum repolist   //可以看到content_ucf软件仓库(3个包) 
    cat content_ucf*.repo  
    
    [content_ucf*]
    name=created by dnf config-manager from file:///content/ucf/ 
    baseurl=file:///content/ucf/ 
    enabled=1
    

    网络源测试:

    在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/
    小步骤:先ping通域名foundation0.ilt.example.com;然后可以在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd查看内容;最后再设置软件仓库源。

    yum-config-manager  --add-repo http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/
    yum repolist   //可以看到foundation0软件仓库(1660个包)
    cat foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
    
    [foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_]
    name=created by dnf config-manager from http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/
    baseurl=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/
    enabled=1
    

    网络源测试:

    在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/

    yum-config-manager  --add-repo http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/
    yum repolist   //可以看到foundation0软件仓库(4672个包)
    cat foundation0.ilt.example.com_rhel8.0_x86_64_dvd_AppStream_.repo 
    
    [foundation0.ilt.example.com_rhel8.0_x86_64_dvd_AppStream_]
    name=created by dnf config-manager from http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/
    baseurl=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/
    enabled=1
    
    yum -y erase autofs
    yum -y install autofs     //Error: GPG check FAILED,来源于BaseOS仓库
    

GPG检测失败,解决方法:
方法一:在配置文件中设置不进行gpgcheck签名检查(即将gpgcheck=0)

vim foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
加入gpgcheck=0
再次安装yum -y install autofs,OK

方法二:导入GPG公钥

先将环境恢复,即去掉配置文件中的gpgcheck=0;删除软件包autofs
yum -y install autofs //Error: GPG check FAILED
在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release,可以看到GPG公钥内容
rpm --import /content/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
再次安装yum -y install autofs,OK

方法三:将GPG公钥(对应GPG签名信息)写入repo文件中

先将环境恢复,即去掉GPG公钥
rpm -qa | grep pub //查看系统中的公钥信息,主要有publicsuffix-list-dafsa-20180723-1.el8.noarch,gpg-pubkey-d4082792-5b32db75,gpg-pubkey-530679ee-4f6b7813,gpg-pubkey-fd431d51-4ae0493b
rpm -e gpg-pubkey-d4082792-5b32db75 gpg-pubkey-530679ee-4f6b7813 gpg-pubkey-fd431d51-4ae0493b //删除GPG公钥,由于不知道是哪个,所以把后三个公钥都删除了
yum -y erase autofs //删除autofs
yum -y install autofs //Error: GPG check FAILED
vim foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
加入gpgkey=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
再次安装yum -y install autofs,OK

通过真实的CentOS8服务器作为YUM软件仓库源

保证Linux系统是在连接外网的前提下做此实验

在百度中搜索华为镜像,即华为开源镜像站https://mirrors.huaweicloud.com/,点击CentOS,点击继续使用,选择CentOS版本为8

在Linux终端窗口中运行下方的命令wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-8-anon.repo,然后拷贝到/etc/yum.repos.d/下(原来的配置文件提前做好备份)

yum clean all
yum repolist 
yum -y install mariadb-server

YUM软件仓库源常见错误的解决方法(yum.PID)

解决方法:按照提示信息将对应文件/run/yum.pid删除即可。

第六章 课后作业

  1. 写出使用rpm命令查询,安装,删除RPM软件包(以httpd包为例)的相关命令。

    rpm -q httpd
    rpm -e httpd
    rpm -ivh httpd
    
  2. 简述使用rpm命令管理RPM软件包的弊端。

    依赖性问题

    安装A包时,存在前驱依赖包B,C,则不能安装,需要先安装B,C包再安装A包

    删除A包时,若此包为B,C包的依赖包,则不能删除,老的系统管理员,先删除BC再删除A包

  3. 简述YUM软件仓库技术的优点。

    安装方便,自动解决添加或删除rpm包时遇到的依赖性问题

    可以同时配置多个资源库

    配置文件简单明了

  4. 简述配置YUM软件仓库时的三点注意事项+五行参数的含义。

    注意事项:

    工作目录必须为 /etc/yum.repos.d/

    配置文件必须以.repo结尾

    必须只有一个.repo文件

    五行参数意义

    [] //[]里写软件仓库的名称,一般使用base.

    name= /name后写软件仓库的全称

    baseurl= //后写软件仓库的绝对路径

    enabled=1 /启用该软件仓库

    gpgcheck=0 //不校验软件包

  5. 简述验证YUM软件仓库的相关命令及效果?

    yum clean all	清空缓存
    yum repolist	显示所有仓库
    
  6. 简述YUM常见命令使用技巧(以httpd包为例),具体包括:判断该软件包是否安装;安装;删除;追根溯源。

    yum info httpd		# 查看是否安装
    yum install httpd	# 安装
    yum remove hpptd	# 卸载
    yum history			# 追根溯源
    

第七章 Crontab计划任务+NTP时间同步服务器

第七章 课后作业

1. 简述用户定时任务的6个字段的含义。

Minute 分钟(0-59)

Hour 小时(0-23)

Day 天(1-31) # 一般用 * 代替

Month 月(1-12) # 一般用 * 代替

DayofWeek 星期(1-7)

Command 任务/命令

2. 简述设置用户定时任务的步骤。

1、切换用户 su - kkkkkba

2、设置定时任务 crontab -e

3、写入定时任务

3. 创建自己名字汉语拼音的用户,为该用户创建定时任务,要求:周一至周五朝九晚五每两小时执行命令“date >> /tmp/abc.txt”;周一至周五1点,3点,9点每隔10分钟广播一条消息hello(广播消息hello的命令是wall “hello”)。

useradd kangbo
su - kanbgo
crontab -e
0 9-17/2 * * 1-5 date >> /tmp/abc.txt
*/10 1,3,9 * * 1-5 wall  'hello'

4. 用户定时任务的黑名单文件是什么,并简述其使用方法。

文件: /etc/cron.deny

用法:vim编辑器打开 添加用户(每行一个)

5. 写出将系统时间设置为11:00的命令。

timedatectl set-ntp false 
timedatectl set-time 11:00

6. 简述将本机设置为NTP客户机的步骤(要求将NTP服务器设置为172.25.254.250)。

开启NTP时间同步

查看NTP服务的状态为

查看NTP时间同步服务是否运行

编辑NTP服务指向文件

修改为server

重启chronyd服务,即NTP服务

查看system clock synchronized的值是否为yes

验证当前使用的是哪个时钟同步服务器

timedatectl set-ntp true
active timedatectl 
systemctl status chronyd.service
vim  /etc/chrony.conf
# 输入 172.25.254.250 iburst
systemctl restart chronyd.service
timedatectl 
chronyc sources -v  

第八章

第八章 课后作业

  1. 简述操作系统的两种启动模式:Legacy BIOS 和UEFI的工作原理。

    BIOS: 在开机时需要进行自检,启动过程较复杂。且传统的BIOS无法识别GPT分区表,只能识别MBR分区表。

    UEFI: 直接从预启动的操作环境加载操作系统(速度快),简化开机过程有效提高启动速度。可以同时识别GPT和MBR。

  2. 简述MBR和GPT类型的磁盘分区的特点。

    MBR(Master Boot Record)分区:

    MBR是计算机开机后必须读取的首个扇区,它在硬盘上的三维地址为(0柱面,0磁头,1扇区)

    MBR中记录着磁盘本身的相关信息以及磁盘各个分区的大小及位置信息。

    硬盘中扇区的大小一般为512个字节。

    本地硬盘启动会读取硬盘的第一个扇区(512Bytes),存放着主引导记录MBR(Master Boot Record) 446字节的启动加载程序Bootloader

    64字节的磁盘分区表,由于存放每个分区信息需要16个字节,所以采取MBR结构的磁盘,最多只能有4个主分区。

    MBR分区方案无法支持超过2TB的磁盘容量

    GPT(GUID Partition Table)分区:

    可自定义分区数量的最大值

    可以表示2的64次方个地址

    磁盘的末端还有一个备份分区表

  3. 简述MBR类型的磁盘分区表中的主分区,扩展分区和逻辑分区的特点。

    主分区:

    1. MBR最初支持4个主分区,每个主分区可包含一个操作系统。

    2. 主分区拥有独立的引导记录,可以引导操作系统。

    3. 每个主分区最大支持2TB的容量。

    4. 至少需要留出一个主分区给扩展分区使用。

    扩展分区:

    1. MBR分区最初只支持4个主分区,为了扩展分区数量,提出了扩展分区的概念。

    2. 扩展分区不包含文件系统,它的作用是包含多个逻辑分区。

    3. 磁盘只能包含一个扩展分区。扩展分区将磁盘分割出的空间再细分为多个逻辑分区。

    4. 扩展分区的容量会随着创建的逻辑分区减小。

    逻辑分区:

    1. 逻辑分区是在扩展分区内创建的分区,用于格式化文件系统并存储数据。

    2. 可以创建多个逻辑分区,直到扩展分区的容量为止。

    3. 逻辑分区没有自己的引导记录,不能引导操作系统。需要一个主分区来引导系统。

    4. 逻辑分区的最大容量也是2TB。

    5. 逻辑分区的文件系统类型可以不同,这加大了MBR分区的灵活性。

  4. 给出求磁盘剩余空间的两种计算公式。

磁盘空间大于4:

剩余空间 = 扩展分区 - 逻辑分区之和

磁盘分区小于4

剩余空间 = 磁盘总容量 - 各个主分区容量之和

  1. 简述使用新磁盘的整体流程。

分区

更新磁盘分区表

格式化

挂载

使用

第九章

第九章 课后作业

  1. 简述开机自动挂载文件/etc/fstab中前三个字段的含义.

    /dev/vdc1 /mnt/dir1 ext4

    设备名称或设备UUID 挂载点 文件系统类型

  2. 简述由于/etc/fstab文件书写错误导致系统无法启动的解决方法。

    进入真机

    输入root密码

    vim /etc/fstab 检查错误,

    reboot重启系统

  3. 简述SWAP交换分区的功能。

当物理内存不足时,将暂时不使用的内存数据存放到交换分区,腾出物理内存来运行其他进程。

  1. SWAP交换分区的典型大小应该如何设置。

内存RAM<=2G,swap设置为2倍的内存RAM大小;

2G<内存RAM<=8G,swap设置为同等的内存RAM大小;

8G<内存RAM<=64G,swap设置为至少4G;

内存RAM>64G,swap设置为至少4G;

  1. 查看SWAP交换分区的三种方法是。

    free free -m free -h

    cat /proc/swaps

    top

  2. 简述使用SWAP交换分区的整体流程。

    更新磁盘分区表

    partprobe
    cat /proc/partitions
    

    格式化

    mkswap /dev/vdb1
    blkid
    

    挂载

    swapon /dev/vdb1
    

    或者

    vim /etc/fstab
    /dev/vdb1     swap     swap     defaults 0 0
    swapon -a
    

    使用

  3. linux系统下计算差值的命令是什么?写出求100-99的具体命令。

    expr 100 - 99
    

第十章 网络管理

  1. 配置虚拟机servera的IP地址(在servera真机里直接操作)

    1. 通过Virtul Machine Manager直接打开虚拟机servera(注意:需要提前在物理机foundation上运行rht-vmctl start all并等待3分钟,可以ping通servera后再通过Virtul Machine Manager打开servera)\

    2. 查看IP地址
      ip a(即ip address show)

      inet 172.25.250.10/24 brd 172.25.250.255 scope global noprefixroute enpls0
      

      补充知识:
      Linux系统识别的以太网接口以en开头,例如enp1s0,enp2s0。
      IPv4地址:172.25.250.10/24或者172.25.250.10/255.255.255.0 ping(ping -c4) ping 172.25.254.250
      IPv6地址: ping6
      Mac地址:

      ping -c4 serverb
      # PING serverb.lab.example.com (172.25.250.11)56(84)bytes of data.
      # 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=1 ttl=64 time=1.75 ms
      # 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=2 ttl=64 time=0.935ms
      # 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=3 ttl=64 time=0.961ms
      # 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=4 ttl=64 time=0.716ms
      
    3. 查看网关(gateway)
      方法一:ip route //查看路由信息,包含网关,default via后的IP地址即为网关

      ip route # 172.25.250.254
      # default via 172.25.250.254 dev enpls0 proto static metric 100
      # 172.25.250.0/24 dev enpls0 proto kernel scope link src 172.25.250.10 metric 100
      

      方法二:netstat -nr // 以数值方式显示路由表信息,包含Gateway,-r显示路由表,-n以数值方式
      方法三:nmcli connection show ‘Wired connection 1’ | grep ipv4.ga

    4. 查看DNS(nameserver)
      cat /etc/resolv.conf
      测试使用ping servera;host servera;host 172.25.250.10

      cat /etc/resolv.conf
      # Generated by NetworkManager
      # search lab.example.com example.com
      
    5. 查看网口、连接信息
      nmcli dev status //查看网络设备的状态
      nmcli connection show //查看连接信息,包含UUID
      vim /etc/sysconfig/network-scripts/ifcfg-* //查看网络配置文件
      BOOTPROTO=none //区分是静态IP还是动态IP,none表示静态
      dhcp //动态
      static //静态

    6. 修改IP地址,网关以及DNS(注意:如果是通过ssh到servera上去修改IP的话,重启网络连接后,此ssh的窗口会卡死,所以本实验最好在servera真机里做):
      A.动态(dhcp自动获取)IP地址的设置方法:
      nmcli connection modify ‘Wired connection 1’ connection.autoconnect yes ipv4.method auto
      //modify表示修改;connection.autoconnect yes表示开机自动启动;ipv4.method auto表示使用dhcp动态获取IP
      echo $? //如果为0,说明上一条命令运行成功
      systemctl restart NetworkManager //注意:设置动态IP后需要重启网络服务NetworkManager
      ip a
      vim /etc/sysconfig/network-scripts/ifcfg-* //查看网络配置文件中的BOOTPROTO是否由none改成了dhcp
      B.静态(static)IP地址的设置方法:
      nmcli con mod ‘Wired connection 1’ connection.autoconnect yes ipv4.method manual ipv4.addresses 172.25.250.66/24 ipv4.gateway 172.25.250.254 ipv4.dns 8.8.8.8
      //modify表示修改;connection.autoconnect yes表示开机自动启动;ipv4.method manual表示使用手动配置静态IP;
      //ipv4.addresses 172.25.250.60/24表示配置的静态IP地址为172.25.250.60,子网掩码为24位; ipv4.gateway 172.25.250.254表示网关为172.25.250.254;ipv4.dns 8.8.8.8表示设置DNS服务器为8.8.8.8
      nmcli connection up ‘Wired connection 1’ //注意:设置静态IP后需要启动(up)网络连接’Wired connection 1’,注意:如果是ssh到servera上会因为IP变动而卡死

      ip a s

      ping 服务器(172.25.254.250)
      测试IP地址的正确性

第十章 课后作业

  1. 写出查看IP地址的命令;ping命令的作用是什么?运行ping命令后的两种效果是什么,如何来判断?

    ip a
    ping作用:测试连通性
    ping效果:
    正常响应:表示目标主机正在运行并和网络连接正常。
    超时无响应:如果目标主机已关闭或网络连接有问题,ping命令会返回超时信息。

  2. 写出查看网关的两种方法。

    ip route
    netstat -nr 
    
  3. 写出查看DNS的方法。

    cat /etc/resolv.conf
    
  4. 写出查看网口、连接信息的方法。

    nmcli  dev status 
    nmcli  connection show 
    vim  /etc/sysconfig/network-scripts/ifcfg-* 
    
  5. 写出动态(dhcp自动获取)IP地址的设置命令,连接名称为’Wired connection 1’。

    nmcli connection modify 'Wired connection 1'  connection.autoconnect yes  ipv4.method  auto
    
  6. 写出静态(static)IP地址的设置命令,连接名称为’Wired connection 1’,IP地址
    为 172.25.250.111,子网掩码为24位,网关为172.25.250.254,DNS服务器为172.25.250.254。

nmcli connection modify  'Wired connection 1' connection.autoconnect yes  ipv4.method manual  ipv4.addresses 172.25.250.111/24  ipv4.gateway 172.25.250.254  ipv4.dns 172.25.250.254
  1. 使用两种方法实现:将主机名修改为自己命令汉语拼音。
hostnamectl set-hostname kkkkkba
vim /etc/hostname

第十一章 SElinux管理 and 防火墙firewalld管理

SElinux管理 (SELinux的上下文,端口号,布尔值)

Linux系统的安全机制分为四层

(1)Filesystem:chmod, chown, setfacl
(2)Service:vim /etc/*.conf
(3)Firewall: firewall-cmd …
(4)SELinux:vim /etc/selinux/config(fcontext,port,setsebool)

注意:root用户是凌驾于Filesystem权限之上的,但如果开启了SELinux,不是针对用户是否具有权限能访问文件或目录了,而是针对进程,是否有权限访问特定的文件目录。变相加强了安全性。

SElinux理论概述

SElinux(Security Enhanced Linux)是由美国国家安全局(NSA:National Security Agency)开发,为了避免资源误用而设计的,额外的系统安全层。
它由一系列的规则组成,决定了哪些进程可以访问哪些文件、目录和端口。
每个文件、目录和端口都具有特别的安全标签,称为SElinux的安全上下文。
默认情况下SElinux是开启状态。
例如:
Apache---------------------------/var/www/html

Apache---------------------------/var/www/html

SElinux Enforcing

在启用了SElinux后,用户访问Apache服务(本身也是一个进程),即访问/var/www/html目录,要看该进程与其访问的目录及文件的安全上下文是否对应

SElinux的配置文件

vim /etc/selinux/config (永久生效)
两个参数:

(1)SELINUX=enforcing //设置SELINUX的状态(或工作模式)
SELINUX的三种工作模式:

enforcing - SELinux security policy is enforced.	//强制,即监控也干预(如果fcontext不一致,则不允许访问)
permissive - SELinux prints warnings instead of enforcing.	//允许(警告),即只监控,不干预
disabled - No SELinux policy is loaded.				//关闭

(2)SELINUXTYPE=targeted //设置SELINUX对系统的管理范围,一般不进行设置

targeted - Targeted processes are protected.	//对大部分网络服务进行管制,缺省值
minimum - Modification of targeted policy. Only selected processes are protected.	//仅对选定的网络服务进行管制,一般不使用
mls - Multi Level Security protection.	//多级别安全,它会对Linux系统中所有的选项生效,会占用系统40%的性能,一般不使用
查看和设置SElinux工作模式的方法
  1. 查看SElinux工作模式

    getenforce
    # Enforcing
    
  2. 设置SElinux工作模式

    • 命令方式修改(仅本次有效,重启无效)

      setenforce 0
      getenforce
      # Enforcing
      setenforce 1
      getenforce
      # Permissive
      
    • 修改配置文件/etc/selinux/config

      # /etc/selinux/config
      SELINUX=enforcing
      SELINUXTYPE=targeted
      
      getenforce
      # Permissive
      

防火墙firewalld管理(规则,服务,端口,重载)

使用系统防火墙和SELinux规划来控制与服务的网络连接

使用防火墙规则来接受或拒绝与系统服务的网络连接

通过管理SELinux端口标签来控制网络服务是否可以使用特定的网络端口

管理服务器防火墙

RHEL7之前防火墙使用的是iptables,RHEL8使用的是firewalld

不管是iptables,还是firewalled,都是借助于Linux内核中包含的netfilter组件(可以实现数据包过滤、网络地址转换和端口转换)

nftables是Linux内核中包含的一个增强型的netfilter,包含了netfilter的功能,具有过滤器和数据包分类的功能

firewalld是一个动态防火墙管理器,是一种改进的iptables,它是nftables框架的前端(使用nft命令)

systemctl status firewalld.service     
#看到servera上的防火墙默认是开启的running
#         stop
#         start
#         restart
#         enable 开机自启
#is-enabled

第十一章 课后作业

  1. 写出下列命令:查看防火墙的状态;将防火墙的状态设置为stop。

systemctl stop firewalld.service

  1. 简述Linux系统的四层安全机制。

(1)Filesystem 权限
(2)Service 服务/应用
(3)Firewall 防火墙
(4)SELinux 高级防火墙

  1. 简述永久设置SElinux工作模式为permissive的方法。

vim /etc/selinux/config

修改SELINUX=permissive

第十二章 归档技术

归档:将多个文件汇集成一个文件

创建tar包

tar -cvf bgl.tar /etc

-c 创建归档包
-v 显示详细的提示信息
-f 指定文件名

echo $?(如果结果为0,说明上边的命令执行成功,非0,表示失败)
file bgl.tar //显示类型

tar -cvf kkkkkba.tar /etc
ll | grep kkkkkba
# -rw-r--r--.1 root root 27217920 Apr 9 22:47 kkkkkba.tar
file kkkkkba.txt
# kkkkkba.tar:POSIX tar archive(GNU)
dd if=/dev/zero of=./kkkkkba1.txt bs=1M count=3 (输出并生成大文件)
dd if=/dev/zero of=./kkkkkba2.txt bs=1M count=5

–if input file 输入原文件
–of outout file 输出生成文件
–bs block size 数据块文件大小

du -sh kkkkkba1.txt
#  50M kkkkkba1.txt
du -sh kkkkkba2.txt
#  50M kkkkkba2.txt
tar -cvf kkkkkba3.tar kkkkkba1.txt kkkkkba2.txt
du -sh kkkkkba3.txt
#  80M kkkkkba3.txt

创建压缩的tar包

三种压缩技术:
gzip-----.gz

即在tar命令中添加一个参数-z

tar -zcvf bgl.tar.gz /etc
file bgl.tar.gz
du -sh bgl.tar.gz
tar -zcvf aaa.tar.gz 111.txt 222.txt
tar -zcvf kkkkkba4.tar.gz kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba4.tar.gz
# 80K kkkkkba4.tar.gz

bzip2-----.bz2

即在tar命令中添加一个参数-j

tar -jcvf bgl.tar.bz2 /etc
file bgl.tar.bz2
du -sh bgl.tar.bz2
tar -jcvf aaa.tar.bz2 111.txt 222.txt
tar -jcvf kkkkkba5.tar.bz2 kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba5.tar.bz2
# 1K kkkkkba5.tar.bz2

xz-----.xz

即在tar命令中添加一个参数-J

tar -Jcvf bgl.tar.xz /etc
file bgl.tar.xz
du -sh bgl.tar.xz
tar -Jcvf aaa.tar.xz 111.txt 222.txt
tar -Jcvf kkkkkba6.tar.xz kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba6.tar.xz
# 16K kkkkkba6.tar.xz

查询tar包中包含的文件目录列表

-t 查看的是使用tar命令归档的包

-f 指定文件名

tar -tf kkkkkba6.tar.gz
# kkkkkba1.txt
# kkkkkba2.txt

释放在指定目录下-C

mkdir /666
tar -xjvf kkkkkba5.tar.bz2 -C /666
ll /666
-rw-r--r--.1 rootroot 31457280 Apr 9 23:03 kkkkkba1.txt
-rw-r--r--.1 rootroot 52428800 Apr 9 23:04 kkkkkba2.txt

第十二章课后作业

  1. 创建一个名为 /root/backup.tar.gz 的 tar 存档,其应包含 /usr/local 的内容,该 tar 存档必须使用 gzip 进行压缩;查看该归档压缩包;将该归档压缩包释放到根目录下。
tar -cvf /root/backup.tar /usr/local
tar -zcvf /root/backup.tar.gz /root/backup.tar
  1. 将/etc目录归档并压缩到/root/backup.tar.bz2,使用bzip2压缩;查看该归档压缩包;将该归档压缩包释放到根目录下。
tar -cvf /root/backup.tar  /etc
tar -jcvf /root/backup.tar.bz2 /root/backup.tar
  1. 将/tmp目录归档并压缩到/root/backup.tar.xz,使用xz压缩;查看该归档压缩包;将该归档压缩包释放到根目录下。
tar -cvf /root/backup.tar  /tmp
tar -Jcvf /root/backup.tar.xz /root/backup.tar
一、RH033部分,是基础。 1、LINUX起源及GNU简介 2、LINUX发行版本的介绍 3、LINUX的特点 RHCE课程-RH033Linux基础笔记一 10月25日课程 4、安装LINUX及常用命令介绍 RHCE课程-RH033Linux基础笔记二 10月26日课程 5、文件以及文件权限 RHCE课程-RH033Linux基础笔记三 10月26日部分课程;11月1日课程;11月2日部分课程 RHEL5.1安装VM TOOL及解决中文乱码方案 11月1日课程 6、shell以及环境变量 RHCE课程-RH033Linux基础笔记四 11月2日课程 7、常用文本文件编辑查看命令及VIM RHCE课程-RH033Linux基础笔记五 11月8日课程 8、网卡,DNS客户端及系统日志简单介绍。 RHCE课程-RH033Linux基础笔记六 11月9日、11月16日及11月22日课程 9、文件的搜索及文件的强制位冒险位,访问控制列表,文件属性的介绍。 RHCE课程-RH033Linux基础笔记七 11月23日课程 RHCE课程-RH033Linux基础笔记八-文件强制位冒险位、ACL访问控制列表 12月6日及12月7日课程 10、文件系统和TAR的打包压缩介绍。 RHCE课程-RH033Linux基础笔记九-文件系统和TAR的打包压缩介绍 12月7日课程 第二部分 RH131 1、RPM及其管理,YUM客户端及服务器的配置 RHCE课程-RH131Linux管理笔记一-RPM及其管理,YUM客户端及服务器的配置 12月7日课程 2、LINUX的启动流程介绍 RHCE课程-RH131Linux管理笔记二-Linux系统启动流程 12月13日课程 3、服务类型以及计划任务 RHCE课程-RH131Linux管理笔记三-linux系统服务介绍及管理 12月14日课程 RHCE课程-RH131Linux管理笔记四-Linux的计划任务 12月14日及12月20日课程 RHCE课程-RH131Linux管理笔记五-Linux远程登陆telnet及ssh服务 12月20日课程 4、文件系统管理及挂载 5、硬件配置与管理。sudo的设置与使用 RHCE课程-RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo设置与使用 12月20日课程 6、网络的高级配置及常用网络命令和工具 7、逻辑卷管理和quota磁盘配额管理 RHCE课程-RH131Linux管理笔记七-Linux分区,格式化,SWAP,LVM,软件RAID的创建 12月27日课程 8、自动挂载和NIS服务器及客户端配置 9、软件RIDE及XEN虚拟机 RHCE课程-RH131Linux管理笔记八-安装和管理XEN虚拟机 1月10日课程 10、SHELL编程 好了,这就是第二部分管理的内容。如果你能把第一和第二部分学好。那么你已经具有RHCT(红帽认证技师的能力了) 第三部分、RH253 高级部分分为服务器架设和安全模块 1、DNS服务器的配置(挺麻烦的一个服务) RHCE课程-RH253Linux服务器架设笔记五-DNS服务器配置 06-04-2009更新 RHCE课程-RH253Linux服务器架设笔记五-DNS服务器配置(2) 19-04-2009更新 2、APACHE服务器的配置 RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(1) 20-04-2009更新 RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(2) 29-04-2009更新 RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(3) 29-04-2009更新 RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(4) 29-04-2009更新 3、NFS服务器及DHCP服务器的配置 RHCE课程-RH253Linux服务器架设笔记二-NFS服务器配置 19-03-2009更新 RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置 23-03-2009更新 4、Samba服务器及客户端的配置 RHCE课程-RH253Linux服务器架设笔记三-Samba服务器配置(1) 20-03-2009更新 RHCE课程-RH253Linux服务器架设笔记三-Samba服务器配置(2) 22-03-2009更新 5、VSFTPD的配置 RHCE课程-RH253Linux服务器架设笔记一-VSFTPD的配置(1) 2009-03-04更新 RHCE课程-RH253Linux服务器架设笔记一-VSFTPD的配置(2) 2009-03-06更新 RHCE课程-RH253Linux服务器架设笔记六-Squid服务器配置 05-02-2009更新 6、sendmail和postfix的配置 RHCE课程-RH253Linux服务器架设笔记七-Sendmail服务器配置 05-04-2009更新 RHCE课程-RH253Linux服务器架设笔记八-Postfix服务器配置 2009-05-19更新 以下是安全部分 7、TCP—WRAPPER TCP封装 RHCE课程-RH253Linux服务器架设笔记九-tcp_wrapper 2009-05-20更新 8、GRUP加密和数据校验 9、PAM插装型认证模块(PAM) 10、IPTABLES防火墙及NAT RHCE课程-RH253Linux服务器架设笔记十-Iptables防火墙 2009-05-22更新 11、日志检测 所有课程安排就这样了。期待你的关注!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值