N81第二周作业

1. 总结linux安全模型

资源分派:认证(验证用户身份),授权(不同用户设置不同权限),审计(确保系统安全)

用户:每个用户都有唯一标识UID,root为0

        系统用户:1-999(CentOS7及以上),1-499(CentOS6)

        登录用户:1000+(CentOS7及以上),500+(CentOS6)

用户组:可以将一个或多个用户添加到组中,每个组都有唯一标识GID,root为0

        系统用户:1-999(CentOS7及以上),1-499(CentOS6)

        登录用户:1000+(CentOS7及以上),500+(CentOS6)

每个用户都有一个主组,创建用户时就会创建同名主组,一个用户可以有任意个附属组

安全上下文:运行的程序能访问的权限取决于进程发起者的权限

2. 总结学过的权限,属性及ACL相关命令及选项,示例。

r,w,x:读,写,执行(4,2,1)

修改权限:

        文字法:ugo,rwx chmod o+r 文件名(给others一个读权限)

        数字法:chmod 764 文件名

目录:读:浏览目录内文件列表

        写:对目录内文件增删

        执行:进入目录中

        一个文件能不能删不取决于文件的权限,而是取决于所在目录的权限

X权限:对目录、可执行文件加执行权限,不可执行文件不加执行权限

读写权限限制对root不起作用,执行权限限制对root起作用

目录默认权限755,文件默认权限644,可用umask工具修改文件

文件默认权限为:666 - umask,奇数位加一

目录默认权限为:777 - umask

root默认umask为022,普通用户为002

永久修改umask:家目录下隐藏文件,.bashrc,写入umask XXX

SUID:作用在二进制可执行文件上,用户执行此程序时,将继承改程序所有者的权限,例:passwd

        chmod u+/-s 文件名:获取/删除权限

        chmod 4755 文件名:数字法标识为4

SGID:作用在二进制可执行文件上,用户执行此程序时,将继承改程序所属组的权限

作用在目录上,该目录下新建文件会继承目录的所属组

        chmod g+/-s 文件名

        chmod 2755 文件名

sticky:粘滞位,作用在目录上,此目录中的文件只能由文件所有者删除(root是例外)

        chmod o+/-t 目录名

        chmod 1755 目录名

chattr +i 文件名:让文件不能被修改,不能被删除,保护文件

lsattr 文件名:查看attr权限

chattr -i 文件名:取消特殊属性

charrt +a 文件名:可追加内容(不能用vim工具追加,可用重定向),不能改名,不能删除

ACL:setfacl -m u:用户名:权限数字 文件名,针对某个或某些用户设置权限

getfacl:查看acl权限

setfacl -b 文件名:删除acl权限

3. 结合vim几种模式,学会使用vim几个常见操作。

1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。

vim 文件名,ZZ、:q 保存退出,ZQ、:wq 不保存退出

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

i进入插入模式,ESC退出插入模式,ZZ、:q 保存退出,ZQ、:wq 不保存退出

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

vim 文件名,i,马哥出品,必属精品,ESC,:q

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

cat  文件名

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

w:光标跳到下一个单词的词首

b:前一个单词的词首

e:下一个单词的词尾

0:光标跳到所在行行首(真正行首)

^:跳到所在行非空格行首

$:跳到所在行行尾

x:剪切

p:粘贴

dd:删除一行

yy:复制行

7. 通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?

#!/bin/bash
read -p "请输入头的数量:" head
read -p "请输入脚的数量:" foot

C=$[(4*head-foot)/2]
R=$[(foot-2*head)/2]

echo "头:$head,脚:$foot,鸡:$C只,兔:$R只"

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

#!/bin/bash
read -p "请输入要创建的用户名:" name
read -p "请输入要创建的用户数量:" count

for i in `seq $count`
do
        username="$name$i"
        echo "要创建用户:$username"
        id $username &> /dev/null
        if [ $? -eq 0 ]
        then
                echo "$username该用户已存在"
        else
                useradd $username
                echo "成功添加用户:$username"
        fi
done

9. 磁盘存储术语总结: head, track, sector, sylinder.

盘面,磁头head(盘面数=磁头数),磁道track,柱面cylinder(磁道数=柱面数),扇区sector(一个512字节)

硬盘容量:=磁头数×柱面数×扇区数×512字节

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值