第二周作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周作业相关的知识,希望对你有一定的参考价值。
- 总结linux安全模型
通过3A(认证、授权、审计)实现资源分配
- 总结学过的权限,属性及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
以上是关于第二周作业的主要内容,如果未能解决你的问题,请参考以下文章