1.特殊权限 suid sgid sbit
2.特殊属性 chattr lsattr -a(/var/log/*.log) -i
(/etc/passwd)
3.umask 默认权限( 表示要减去的权限 目录:777 -umask 文件:666 -umask)
1.suid(set uid)特殊权限
set uid 简称suid 当我们为某个命令设定了suid,无论谁使用该命令,都会使用该命令的“属主”运行该命令 suid == 4000 chmod u+s /usr/bin/passwd chmod 4755 /usr/bin/passwd chmod u-s 去掉权限
- suid优点:可以让普通用户执行无法执行的命令,方便
- suid缺点:如果rm为suid,无论谁执行该命令,都能删除系统的任何资源
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 /opt/share/ [root@oldboyedu ~]# chown .devops >share/ 测试不同的用户在该目录下创建文件,检查属主和属组 使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
3.sbit
如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件,
删除文件只能是 谁创建的谁删除. 除此以外 root 和/tmp/的所属主都能删除该目录下的额内容.
设定粘滞位 1000 chmod o+t /tmp chmod 1777 /tmp
4.特殊属性 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
5.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