第二周作业
-
总结linux安全模型
Linux安全模型通过3A认证来实现 3A指的是认证、授权、审计
-
总结学过的权限,属性及ACL相关命令及选项,示例。
文件权限有读写执行三种 读用r表示,可以读取文件内容; 写用w表示,可以修改文件内容; 执行用x表示,可以对文件执行操作,一般用于脚本文件执行权限 还有三种特殊权限 SUID:作用在所有者权限上,用户可继承所有者的权限 SGID:作用在所属组上,用户可以继承所属组的权限 Sticky:作用在其他人上,用户可以继承其他人的权限 ACL命令常见用法 getfacl 文件名 #查看文件acl权限 setfacl -m u:用户名:权限 # 设置权限。如: setfacl -m u:hjz:- 1.txt # 表示用户hjz对文件1.txt没有任何访问权限
-
结合vim几种模式,学会使用vim几个常见操作。
1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。
打开: vim 文件名
退出文件:按 冒号: 进入末行模式,然后输入q 回车 退出文件
2)打开文件(命令模式)之后,进入插入模式。并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。
vim 文件名
按 i 进行插入模式
按 Esc 回到命令模式
按 冒号: 进入末行模式
末行模式按 q 退出文件
3)打开文件(命令模式)之后,进入插入模式,编写一段话,"马哥出品,必属精品", 之后从插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。
vim 文件名
按 i 进行插入模式,输入"马哥出品,必属精品"
按 Esc 回到命令模式
按 冒号: 进入末行模式
末行模式按 wq 退出文件
4)使用cat命令验证文件内容,是刚刚自己写的内容。
# cat 1.txt
马哥出品,必属精品
5)(可选),命令模式下,光标在单词,句子上进行前后,上下跳转。行复制粘贴。行删除。
-
总结学过的文本处理工具,文件查找工具,文本处理三剑客, 文本格式化命令(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
-
总结文本处理的grep命令相关的基本正则和扩展正则表达式。
. 匹配任意单个字符 [] 匹配指定范围内的任意单个字符,如[0-9]、[test] [^] 匹配指定范围外的任意单个字符 * 匹配前面字符任意次 ? 0或1多次 {n} 匹配n次 {m,n} 至少m,至多n次 ^ 行首 $ 行尾 () 分组 | 或者
-
总结变量命名规则,不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用。
#变量名规则: 区分大小写 只能使用数字、字母、下划线,但不能以数字开头 定义变量时不能使用保留字和内置变量 # 变量类型 环境变量:子进程可以继承父进程的变量 位置变量:一般用在脚本,指脚本后面出现的参数,$1,$2 只读变量:不能修改,只能读的变量,通过 readonly声明 局部变量:只在当前作用域(当前进程)有效的变量,即还没有声明成环境变量的变量 状态变量:一般用在命令执行后,表示命令执行的结果状态,用$?表示,返回0正常,返回1或其他非0数字表示不正常
-
通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?
-
结合编程的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
-
磁盘存储术语总结: head, track, sector, sylinder.
head # 磁头 track # 磁道 sector # 扇区 sylinder # 柱面
-
总结MBR,GPT结构。
# MBR: 第1字节:引导标志 第2、3、4字节:本分区的起始磁头号、扇区号、柱面号 第5字节:分区类型符 第6、7、8字节:本分区的结束磁头号、扇区号、柱面号 第9、10、11、12字节:本分区之前已用了的扇区数 第13、14、15、16字节:本分区的总扇区数 # GPT GPT头 分区表 GPT分区 备份分区
-
总结学过的分区,文件系统管理,SWAP管理相关的命令及选项,示例
fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff -
总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。
-
完成不影响业务对LVM磁盘扩容及缩容示例。