DAY11-特殊权限

今日内容
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, 无论谁执行该命令,都能删除系统的任何资源


    image.png
image.png

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

image.png

4.粘滞位使用场景

image.png

5.特殊属性 chattr lsattr

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

希望任何人都不能创建用户,应该给/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

日志文件,希望能往里面追加内容,但不允许删除,应该添加什么特殊属性?

[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
    • 功能: 任何用户执行带有suid的命令,都是用该命令的属主权限
    • 非常危险,比如授权 vim--->sudoers
    • 授权的方式:
      • chmod u+s /usr/bin/vim
      • chmod 4755 /usr/bin/vim
      • chmod u-s /usr/bin/vim
  • 2.特殊权限SGID
    • 功能: 目录被赋予SGID属性,所有在该目录下的文件都隶属于目录属组
    • 授权方式:
      • chmod g+s /data
      • chmod 2755 /data
  • 3.特殊权限SBIT
    • 功能: 允许任何人在该目录下创建文件,但只能删除自己创建的,不允许删除其他人
    • /tmp <----- 上传资源时,临时存放的一个目录.
  • 4.特殊属性
    • chattr
      • -i 不允许删除,不允许修改的文件 /etc/passwd (不允许创建用户)
      • -a 只允许往文件中追加内容,其他无操作 (日志文件)
    • lsattr 查看文件是否存在特殊属性.
  • 5.默认权限UMASK
    • Umask表示要减去的权限
      • 默认目录权限是777 -- 022
      • 默认文件权限是666 -- 022
    • 普通用户创建文件和目录的权限不一样,取决于/etc/profile 中的UMASK设定
    • 创建普通用户,会同时创建家目录,家目录权限是多少 取决于/etc/login.defs 文件UMASK设定.

你可能感兴趣的:(DAY11-特殊权限)