Day11-特殊权限(suid、sgid、sbit,chattr、lsattr,umask)

Hyman's Road of Learning Linux.

1.suid (set uid) 特殊权限

  • set uid 简称 suid
    当我们为某个命令设定了 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) 特殊权

将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的所属组保持一致,演示如下

root@haoyu1[15:10:27]~# groupadd devops
root@haoyu1[15:10:39]~# useradd zhangsan -G devops
root@haoyu1[15:11:02]~# useradd lisi -G devops
root@haoyu1[15:11:12]~# mkdir /opt/share
--------------------------------------------------------
root@haoyu1[15:11:21]~# chmod 2777 /opt/share/
root@haoyu1[15:11:35]~# chown .devops /opt/share/
--------------------------------------------------------
root@haoyu1[15:16:56]~# ll -d /opt/share/
drwxrwsrwx. 4 root devops 44 Aug  8 15:16 /opt/share/
--------------------------------------------------------
zhangsan@haoyu1[15:13:10]~# cd /opt/share/
zhangsan@haoyu1[15:13:41]/opt/share# mkdir zhangsan_file
--------------------------------------------------------
lisi@haoyu1[15:13:44]~# cd /opt/share/
lisi@haoyu1[15:14:44]/opt/share# mkdir lisi_file
--------------------------------------------------------
root@haoyu1[15:16:53]~# ll /opt/share/
total 0
drwxrwsr-x. 2 lisi     devops 6 Aug  8 15:15 lisi_file
drwxrwsr-x. 2 zhangsan devops 6 Aug  8 15:14 zhangsan_file
#测试不同的用户在该目录下创建文件,检查属主和属组 
#使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。

3.sbit

如果一个目录设定了粘滞位 ,那么谁都可以在该目录下创建文件。
删除文件只能是 谁创建的谁删除,除此以外root和/tmp/的所属主都能删除该目录下的额内容。

  • 设定粘滞位 1000
chmod o+t  /tmp 
chmod 1777 /tmp
粘滞位图解

粘滞位场景介绍

4.特殊属性 chattr lsattr

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

1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属性?

# 不得任意更动文件或目录
root@haoyu1[16:07:15]~# chattr +i /etc/passwd
root@haoyu1[16:07:24]~# lsattr /etc/passwd
----i----------- /etc/passwd
--------------------------------------------------------
root@haoyu1[16:07:36]~# chattr -i /etc/passwd
root@haoyu1[16:08:24]~# lsattr /etc/passwd
---------------- /etc/passwd

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

root@haoyu1[16:08:33]~# chattr +a /var/log/secure
root@haoyu1[16:09:19]~# 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

你可能感兴趣的:(Day11-特殊权限(suid、sgid、sbit,chattr、lsattr,umask))