第二周作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周作业相关的知识,希望对你有一定的参考价值。

  1. 总结linux安全模型

通过3A(认证、授权、审计)实现资源分配


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

//give other read priority

ll

total 4

-rw-------. 1 root root 959 Jan 23 18:48 anaconda-ks.cfg

-rw-r--r--. 1 root root   0 Feb 26 10:56 wang.txt


chmod o+r anaconda-ks.cfg



ll

total 4

-rw----r--. 1 root root 959 Jan 23 18:48 anaconda-ks.cfg

-rw-r--r--. 1 root root   0 Feb 26 10:56 wang.txt



rwx = 421


type umask

umask is a shell builtin


666

022

644


/etc/bashrc   //全局设置 影响所有用户


~/.bashrc     //用户设置 之影响当前用户





666

123

543

644


文件的执行是危险的,但是目录(文件夹)的权限是简单的

1.如果没有执行权限,root也无法直接执行

2.基于安全考虑,默认新建文件夹不允许有执行权限(这是为什么基数要加1的原因)


umask



mask


666

123

543

644


110110110

001010011

110100100

644



777

123

654


root默认umask is 022, other user is 002

为什么root的umask要大一些。

umask越大意味着什么?权限就越小,意味着越安全。

相对root的文件更重要,所以权限要越小一些


安全和便利是一对矛盾




SUID

用户执行时则继承程序所有者的权限


//SUID example

[13:05:14 root@rocky9 ~]#chmod u+s /usr/bin/cat

[13:05:40 root@rocky9 ~]#su - wang

[13:06:30 wang@rocky9 ~]$cat /etc/shadow

root:$6$0T1SH0.cWyEmar4v$9gjsHehK3oH8bpD8KUpcnaSea4njw2srykNWBzU.XpuIClD/VIz4EP/27ckzRfTIJuJ3iBvuOWCsM~~~~

[13:06:40 wang@rocky9 ~]$exit

logout

[13:06:47 root@rocky9 ~]#chmod u-s /usr/bin/cat

[13:07:02 root@rocky9 ~]#su - wang

[13:07:07 wang@rocky9 ~]$cat /etc/shadow

cat: /etc/shadow: Permission denied



文件的删除是由什么权限控制的?

sticky粘滞位,作用再目录上,此目录中的文件只能由所有者来删除


//sticky example

ll -d /tmp

drwxrwxrwt. 14 root root 4096 Mar  2 14:01 /tmp


[14:00:07 root@rocky9 tmp]#su wang

[14:00:20 wang@rocky9 tmp]$touch wang.txt

[14:01:41 wang@rocky9 tmp]$su li

Password:  

[14:01:46 li@rocky9 tmp]$touch li.txt

[14:01:58 li@rocky9 tmp]$rm -f wang.txt

rm: cannot remove wang.txt: Operation not permitted



chmod o-t /tmp

[14:03:31 root@rocky9 tmp]#ll -d /tmp

drwxrwxrwx. 14 root root 4096 Mar  2 14:01 /tmp    //Note that there is no t



//add sticky

[14:05:05 root@rocky9 tmp]#chmod 1777 /tmp    //or chmod o+t /tmp

[14:05:37 root@rocky9 tmp]#ll -d /tmp

drwxrwxrwt. 14 root root 4096 Mar  2 14:04 /tmp



SUID

SGID   //作用在目录上,目录中新建的文件的所属组自动从此目录继承


Sticky

//SGID example

chmod g+s dir

[14:29:55 root@rocky9 data]#ll

total 0

drwxrwsr-x. 2 root m74  52 Mar  2 14:24 dir

touch dir/root2.txt

[14:30:26 root@rocky9 data]#ll

total 0

drwxrwsr-x. 2 root m74  69 Mar  2 14:30 dir


SUID 4  read

SGID 2  write

Sticky 1 execute


权限是来针对控制普通用户的


//chattr 不让删

[14:42:03 root@rocky9 data]#touch a.txt

[14:42:10 root@rocky9 data]#ll

total 0

-rw-r--r--. 1 root root  0 Mar  2 14:42 a.txt

drwxrwsr-x. 2 root m74  86 Mar  2 14:31 dir

[14:42:14 root@rocky9 data]#chattr +i a.txt

[14:42:29 root@rocky9 data]#rm -f a.txt

rm: cannot remove a.txt: Operation not permitted

[14:42:42 root@rocky9 data]#lsattr a.txt

----i----------------- a.txt

[14:42:56 root@rocky9 data]#chattr -i a.txt

[14:44:09 root@rocky9 data]#rm -f a.txt


chattr +a  //只能增加不能减除

14:47:27 root@rocky9 data]#touch a.txt

[14:47:35 root@rocky9 data]#chattr +a a.txt

[14:47:42 root@rocky9 data]#mv a.txt b.txt

mv: cannot move a.txt to b.txt: Operation not permitted

[14:47:56 root@rocky9 data]#echo addtxt >> a.txt

[14:48:15 root@rocky9 data]#cat a.txt

addtxt

[14:48:30 root@rocky9 data]#chattr -a a.txt



ACL


[15:11:30 root@rocky9 data]#touch b.txt

[15:11:40 root@rocky9 data]#ll

total 0

-rw-r--r--. 1 root root  0 Mar  2 15:08 a.txt

-rw-r--r--. 1 root root  0 Mar  2 15:11 b.txt

drwxrwsr-x. 2 root m74  86 Mar  2 14:31 dir

[15:11:41 root@rocky9 data]#su wang

[15:11:55 wang@rocky9 data]$cat a.txt

[15:12:00 wang@rocky9 data]$exit

exit

[15:12:11 root@rocky9 data]#setfacl -m u:wang:0 a.txt  //让wang没有任何权限

[15:12:27 root@rocky9 data]#su wang

[15:12:31 wang@rocky9 data]$cat a.txt

cat: a.txt: Permission denied

[15:12:33 wang@rocky9 data]$su li

Password:  

[15:12:40 li@rocky9 data]$cat a.txt

[15:12:44 li@rocky9 data]$getfacl a.txt  //获取权限信息

# file: a.txt

# owner: root

# group: root

user::rw-

user:wang:---

group::r--

mask::r--

other::r--


[15:13:03 li@rocky9 data]$exit

exit

[15:13:21 wang@rocky9 data]$exit

exit

[15:13:23 root@rocky9 data]#setfacl -m u:li:rw a.txt //增加用户权限

[15:14:07 root@rocky9 data]#su li

[15:14:11 li@rocky9 data]$echo liaddtext >> a.txt

[15:14:28 li@rocky9 data]$cat a.txt

liaddtext

[15:14:32 li@rocky9 data]$exit

exit

[15:15:06 root@rocky9 data]#setfacl -b a.txt //取消所有权限

[15:15:14 root@rocky9 data]#ll

total 4

-rw-r--r--. 1 root root 10 Mar  2 15:14 a.txt

-rw-r--r--. 1 root root  0 Mar  2 15:11 b.txt

drwxrwsr-x. 2 root m74  86 Mar  2 14:31 dir




以上是关于第二周作业的主要内容,如果未能解决你的问题,请参考以下文章

第二周作业

第二周作业

第二周作业

实时控制软件设计第二周作业

软件过程与项目管理(第二周作业)

Linux SRE课程第二周作业