day12——文件的特殊权限

1.suid (set uid) 特殊权限

suid优点: 可以让普通用户执行无法执行的命令 方便

suid缺点: 如果rm 为suid, 无论谁执行该命令,都能删除系统的任何资源

set uid 简称suid

当我们为某个命令设定了suid,无论谁使用该命令 都会使用该命令的 "属主" 运行该命令

suid == 4000

chmod u+s /usr/bin/passwd

chmod 4755 /usr/bin/passwd

chmod u-s 去掉权限

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

5.特殊属性 chattr lsattr

-a 只能追加,无其他操作
-i 锁定文件,不能删除,不能追加,不能移动

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

你可能感兴趣的:(day12——文件的特殊权限)