昨日回顾
权限
1."权限" ,约束用户能对操作系统所在的操作.
2.权限有什么用?
保护用户的隐私 可以按需开放对应的权限
3.权限与用户之间有什么关联?
4.调整权限chmod
1.ugo 根据 user=rw group=r other=r
2.number r=4 w=2 x=1 -=0 700
目录: 755 777 700
文件: 644 600 命令: 755 5.验证r w x 每位的权限
文件: r 读 w 写 x 执行 rw: 读和写 rx: 读和执行 目录: r 列出目录的
内容, w允许往该目录下新建文件 x 进 入目录 rx: 能列出当前目录
的所有内容,并也能进入该目录 rwx: 啥都能干.
PS:
删除一个目录下的文件, 看的是文件的上级目录的权 限 如果不是
删除或者复制\移动等操作,看文件本身的权限
5.变更文件的拥有人和拥有组? 类似于房屋过户操作?
chown username.groupname filename
chown -R username.groupname directory
chown username filename
chown .groupname filename
chgrp groupname filename
今日内容
1.suid(set uid) 特殊权限
set uid 简称suid
当我们为某个命令设定了suId,无论谁使用该命令,都会使用该命令的“属主”来运行该命令
suid==4000
chmod u+s /usr/bin/passwd 修改后
chmod 4755
chmod u-s /usr/bin/passwd
chmod
suid的优点:可以让普通用户执行无法执行的命令,比较方便。
suid的缺点:如果rm为suid,无论谁都能执行该命令, 都能删除系统的任何资源,所以不安全。
进程能够以何种身份去查看一个文件,取决于运行这个进程的用户对这个文件有没有权限。
cat 是一个程序
当使用jacky用户运行cat 查看/etc/shadow文件时,进程是谁运行的?
jacky
jacky对/etc/shadow有没有读取的权限?
没有。并且提示权限拒绝
过程
在使用lsc用户查看对应的三个文件时,会看到该用户与文件对应的权限
进程能够以何种方式--->访问文件--->取决于运行这个进程的用户--->对这个文件有什么对应的权限。
lsc--->/usr/bin/cat--->访问/etc/passwd--->可以读取--->读取该文件内容。
lsc--->/usr/bin/cat--->访问/etc/hosts--->可以读,同时可以改写--->那么可以读取并改写该文件。
lsc--->/usr/bin/cat--->访问/etc/shadow--->没有权限--->访问被拒绝
2.sgid (set gid) 特殊权限 (RHCE考试)
将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的 所属组保持一致,演示如下
[root@oldboyedu ~]# groupadd devops
[root@oldboyedu ~]# useradd zhangsan -G devops
[root@oldboyedu ~]# useradd lisi -G devops
[root@oldboyedu ~]# mkdir /opt/share
[root@oldboyedu ~]# chmod 2777 share/
[root@oldboyedu ~]# chown .devops share/
#测试不同的用户在该目录下创建文件,检查属主和属组
#使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
3.sbit
如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件,修改/删除文件只能是谁创建的谁修改/删除. 除此以外 root 和/tmp/的所属主都能删除该目录下的内容.
设定粘滞位 1000
chmod o+t /tmp chmod 1777 /tmp
无论suid、sgid、sbit只要属主没有执行权限,那么在使用特殊权限时x位上的字符都是大写,反之小写。
拓展
用户上传资料场景
过程:根目录下/tmp首先会带有进度条的接收用户上
传的资料,等到全部资料上传完毕之后/tmp内的会转
移到/code/images中。
4.特殊属性 chattr lsattr
chattr
-a 只能追加,无其他操作
-i 锁定文件,不能删除,不能追加,不能移动
lasttr
查看文件特殊属性
1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属性?
[root@oldboyedu ~]# chattr +i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
# 不得任意更动文件或目录
#---------------------------------------------
[root@oldboyedu ~]# chattr -i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@oldboyedu ~]# useradd test123
2.日志文件,希望能往里面追加内容,但不允许删除,应该添加什么特殊属性?
[root@oldboyedu ~]# chattr +a /var/log/secure
[root@oldboyedu ~]# lsattr /var/log/secure
-----a---------- /var/log/secure
6.umask 默认权限
umask是用来控制默认创建文件或目录的权限
umask设定为022,表示要减去的权限
目录 777 -022 =755
文件 666 -022 =644 umask 设定为奇数 偶数
对文件和目录有什么影响?
文件: 如果umask出现了奇数, 要在奇数位+1
目录: 对目录毫无影响
设定umask
umask number 临时 (当前bash窗口有效,会随着bash的关闭一 起结束)
vim /etc/profile /etc/login.defs # 如果修改则都为永久.
PS: umask 知道就行, 不要调整,默认就是安全的权限
目录: 755
=文件: 644
今日总结
1.特殊权限 suid sgid sbit
2.特殊属性 chattr lsattr -a(/var/log/*.log) -i (/etc/passwd)
3.umask 默认权限( 表示要减去的权限 目录:777 -umask 文件:666 umask)