第二周作业

  1. 总结linux安全模型

    Linux安全模型通过3A认证来实现
    
    3A指的是认证、授权、审计
    
  2. 总结学过的权限,属性及ACL相关命令及选项,示例。

    文件权限有读写执行三种
    
    ​	读用r表示,可以读取文件内容;
    
    ​	写用w表示,可以修改文件内容;
    
    ​	执行用x表示,可以对文件执行操作,一般用于脚本文件执行权限
    
    
    
    还有三种特殊权限
    
    ​	SUID:作用在所有者权限上,用户可继承所有者的权限
    
    ​	SGID:作用在所属组上,用户可以继承所属组的权限
    
    ​	Sticky:作用在其他人上,用户可以继承其他人的权限
    
    
    
    
    
    ACL命令常见用法
    
    ​	getfacl 文件名	#查看文件acl权限
    
    ​	setfacl -m u:用户名:权限	# 设置权限。如: setfacl -m u:hjz:- 1.txt	# 表示用户hjz对文件1.txt没有任何访问权限
    
  3. 结合vim几种模式,学会使用vim几个常见操作。
    1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。

​ 打开: vim 文件名

​ 退出文件:按 冒号: 进入末行模式,然后输入q 回车 退出文件

2)打开文件(命令模式)之后,进入插入模式。并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。

​ vim 文件名

​ 按 i 进行插入模式

​ 按 Esc 回到命令模式

​ 按 冒号: 进入末行模式

​ 末行模式按 q 退出文件

3)打开文件(命令模式)之后,进入插入模式,编写一段话,"马哥出品,必属精品", 之后从插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。

​ vim 文件名

​ 按 i 进行插入模式,输入"马哥出品,必属精品"

​ 按 Esc 回到命令模式

​ 按 冒号: 进入末行模式

​ 末行模式按 wq 退出文件

4)使用cat命令验证文件内容,是刚刚自己写的内容。

# cat 1.txt
马哥出品,必属精品

5)(可选),命令模式下,光标在单词,句子上进行前后,上下跳转。行复制粘贴。行删除。

  1. 总结学过的文本处理工具,文件查找工具,文本处理三剑客, 文本格式化命令(printf)的相关命令及选项,示例。

    # 编辑文件
    [root@iv-ycciorcx5e4n5pdxmpj2 test] # vim 1.txt
    /root/tmp/test
    
    # 查看普通文件内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat  /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    
    # 逆向像是文本内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# tac /etc/passwd
    nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    
    # 同一行逆向
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# rev /etc/passwd
    hsab/nib/:toor/:toor:0:0:x:toor
    nigolon/nibs/:nib/:nib:1:1:x:nib
    nigolon/nibs/:nibs/:nomead:2:2:x:nomead
    nigolon/nibs/:mda/rav/:mda:4:3:x:mda
    nigolon/nibs/:dpl/loops/rav/:pl:7:4:x:pl
    cnys/nib/:nibs/:cnys:0:5:x:cnys
    nwodtuhs/nibs/:nibs/:nwodtuhs:0:6:x:nwodtuhs
    tlah/nibs/:nibs/:tlah:0:7:x:tlah
    nigolon/nibs/:liam/loops/rav/:liam:21:8:x:liam
     
    # 看非文本文件内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# hexdump /dev/vda
    
    # 分页查看文件内容more
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# more /var/log/messages
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 27150 of user root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Sep 24 03:43:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Sep 24 03:43:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 27151 of user root
    
    # 分页查看文件内容less
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# less /var/log/messages
    
    
    # 查看文件头几行内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# head /var/log/messages
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 27150 of user root.
    Sep 24 03:42:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Sep 24 03:43:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Sep 24 03:43:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 27151 of user root.
    Sep 24 03:43:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Sep 24 03:44:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Sep 24 03:44:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 27152 of user root.
    Sep 24 03:44:01 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    
    # 查看文件后几行内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# tail /var/log/messages
    Oct  7 09:43:56 iv-ycciorcx5e4n5pdxmpj2 systemd-logind: Removed session 32409.
    Oct  7 09:43:56 iv-ycciorcx5e4n5pdxmpj2 systemd: Removed slice User Slice of root.
    Oct  7 10:17:41 iv-ycciorcx5e4n5pdxmpj2 chronyd[569]: Selected source 100.96.0.12
    Oct  7 11:17:55 iv-ycciorcx5e4n5pdxmpj2 chronyd[569]: Selected source 100.96.0.10
    Oct  7 12:15:38 iv-ycciorcx5e4n5pdxmpj2 systemd: Starting Cleanup of Temporary Directories...
    Oct  7 12:15:38 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Cleanup of Temporary Directories.
    Oct  7 13:06:05 iv-ycciorcx5e4n5pdxmpj2 chronyd[569]: Selected source 100.96.0.11
    Oct  7 14:24:25 iv-ycciorcx5e4n5pdxmpj2 systemd: Created slice User Slice of root.
    Oct  7 14:24:25 iv-ycciorcx5e4n5pdxmpj2 systemd-logind: New session 32410 of user root.
    Oct  7 14:24:25 iv-ycciorcx5e4n5pdxmpj2 systemd: Started Session 32410 of user root.
    
    # 截取文本内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cut -d: -f1 /etc/passwd
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    operator
    games
    ftp
    nobody
    systemd-network
    dbus
    polkitd
    postfix
    sshd
    chrony
    tcpdump
    nginx
    
    # 合并文件内容
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat alpha.log
    a
    b
    c
    d
    e
    f
    g
    h
    i
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat seq.log 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# paste alpha.log seq.log 
    a	1
    b	2
    c	3
    d	4
    e	5
    f	6
    g	7
    h	8
    i	9
    	10
    
    
    # 统计文件数据,如统计文本行数
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# wc -l /etc/passwd
    21 /etc/passwd
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# wc /etc/passwd
     21  31 941 /etc/passwd # 输出行数21,单词数31,字节数941
     
    # 文本排序
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# sort /etc/passwd
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    halt:x:7:0:halt:/sbin:/sbin/halt
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    
    # 内容去重
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat 1.txt
    1
    2
    3
    1
    1
    1
    2
    2
    3
    3
    4
    5
    6
    7
    88
    8
    8
    8
    8
    8
    9
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# uniq 1.txt
    1
    2
    3
    1
    2
    3
    4
    5
    6
    7
    88
    8
    9
    
    
    # 比较文件
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat 1.txt
    1
    2
    3
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# cat 2.txt
    1
    2
    4
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# diff 1.txt 2.txt
    3c3
    < 3
    ---
    > 4
    
    
    # grep命令的简单使用
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# grep root /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    
    # sed命令的简单使用
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# sed -i s/root/test/g passwd 
    # 将文件passwd里所有 root 替换成 test
    
    # awk的使用
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# df -h | awk 'NR>1{print}' 
    devtmpfs        3.9G     0  3.9G   0% /dev
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    tmpfs           3.9G  385M  3.6G  10% /run
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda2        40G   16G   22G  43% /
    /dev/vda1       200M   12M  189M   6% /boot/efi
    tmpfs           798M     0  798M   0% /run/user/0
    # 除了第一行都打印出来
    
    # printf的简单使用
    [root@iv-ycciorcx5e4n5pdxmpj2 test]# printf "%s\n" 1 2 3 4
    1
    2
    3
    4
    
    
    
    
    
    
  2. 总结文本处理的grep命令相关的基本正则和扩展正则表达式。

    .		匹配任意单个字符
    []		匹配指定范围内的任意单个字符,如[0-9]、[test]
    [^]		匹配指定范围外的任意单个字符
    *		匹配前面字符任意次
    ?		0或1多次
    {n}		匹配n次
    {m,n}	至少m,至多n次
    ^		行首
    $		行尾
    ()		分组
    |		或者
    
    
  3. 总结变量命名规则,不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用。

    #变量名规则:
    	区分大小写
    	只能使用数字、字母、下划线,但不能以数字开头
    	定义变量时不能使用保留字和内置变量
    	
    	
    # 变量类型
    	环境变量:子进程可以继承父进程的变量
    	位置变量:一般用在脚本,指脚本后面出现的参数,$1,$2
    	只读变量:不能修改,只能读的变量,通过 readonly声明
    	局部变量:只在当前作用域(当前进程)有效的变量,即还没有声明成环境变量的变量
    	状态变量:一般用在命令执行后,表示命令执行的结果状态,用$?表示,返回0正常,返回1或其他非0数字表示不正常
    
  4. 通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?

  5. 结合编程的for循环,条件测试,条件组合,完成批量创建100个用户,
    1)for遍历1..100
    2)先id判断是否存在
    3)用户存在则说明存在,用户不存在则添加用户并说明已添加。

#!/bin/bash

for user in `seq 100`:
do
	id $user 2&> /dev/null && echo $user is already exists  || useradd $user; echo $user is add!
done
  1. 磁盘存储术语总结: head, track, sector, sylinder.

    head		# 磁头
    track		# 磁道 
    sector		# 扇区
    sylinder	# 柱面
    
  2. 总结MBR,GPT结构。

    # MBR:
    	第1字节:引导标志
    	第2、3、4字节:本分区的起始磁头号、扇区号、柱面号
    	第5字节:分区类型符
    	第6、7、8字节:本分区的结束磁头号、扇区号、柱面号
    	第9、10、11、12字节:本分区之前已用了的扇区数
    	第13、14、15、16字节:本分区的总扇区数
    	
    	
    	
    # GPT
    	GPT头
    	分区表
    	GPT分区
    	备份分区
    
  3. 总结学过的分区,文件系统管理,SWAP管理相关的命令及选项,示例
    fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff

  4. 总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。

  5. 完成不影响业务对LVM磁盘扩容及缩容示例。

posted @ 2023-10-07 15:29  一只花狗-  阅读(58)  评论(0)    收藏  举报