day11-特殊权限

1.suid(set uid)

set uid 简称suid,当我们为某个命令设定了suid,无论谁使用该命令,都会使用该命令的“属主”权限运行该命令(4000)


day11-特殊权限_第1张图片
图片.png
root@peachcat1 ~]# ll -d /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
[root@peachcat1 ~]# chmod u-s /usr/bin/passwd 
[root@peachcat1 ~]# ll -d /usr/bin/passwd
-rwxr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
[root@peachcat1 ~]# chmod u+s /usr/bin/passwd 
[root@peachcat1 ~]# ll -d /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

优点:可以让普通用户执行无法执行的命令,方便
缺点:如果rm为uid,无论谁执行该命令,都能删除系统的任何资源
进程能够以何种身份去查看一个文件,取决于运行这个进程的用户对这个文件有没有权限。
cat是一个程序
当使用jacky用户运行cat,查看/etc/shadow文件时,进程是谁运行的,jacky
jacky对/etc/shadow有没有读取的权限
没有,没有则提示权限拒绝

2.sgid(set gid)

set gid简称sgid,将目录设置为sgid后,如果在该目录下创建文件,都将与该目录的所属组保持一致(2000)

[root@peachcat1 ~]# groupadd devops
[root@peachcat1 ~]# useradd zhangsan -G devops
[root@peachcat1 ~]# useradd lisi -G devops
[root@peachcat1 ~]# mkdir /opt/share
[root@peachcat1 ~]# chmod g+s /opt/share
[root@peachcat1 ~]# su - zhangsan
[zhangsan@peachcat1 ~]$ touch /opt/share/file1
[zhangsan@peachcat1 ~]$ su - root
[root@peachcat1 ~]# su - lisi
[lisi@peachcat1 ~]$ touch /opt/share/file2
[lisi@peachcat1 ~]$ su - root
[root@peachcat1 ~]# ll /opt/share/
total 0
-rw-rw-r--. 1 zhangsan root 0 Aug  8 11:31 file1
-rw-rw-r--. 1 lisi     root 0 Aug  8 11:32 file2

3.sbit(Stickybit 粘滞位)

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


day11-特殊权限_第2张图片
图片.png
[root@peachcat1 ~]# chmod o+t /tmp
[root@peachcat1 ~]# ll -d /tmp
drwxrwxrwt. 8 root root 128 Aug  8 09:10 /tmp
[root@peachcat1 ~]# chmod 1777 /tmp
[root@peachcat1 ~]# ll -d /tmp
drwxrwxrwt. 8 root root 128 Aug  8 09:10 /tmp
day11-特殊权限_第3张图片
图片.png

4.特殊属性:chattr lsattr

+:增加权限
-:减少权限
i:不得任意改动文件或目录,锁住
a:让文件或者目录仅追加内容
希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属性?
[root@peachcat1 ~]# chattr +i /etc/passwd
[root@peachcat1 ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@peachcat1 ~]# chattr -i /etc/passwd
[root@peachcat1 ~]# lsattr /etc/passwd
---------------- /etc/passwd
日志文件,希望能往里面追加内容,但不允许删除,应该添加什么 特殊属性?
[root@peachcat1 ~]# chattr +a /var/log/secure
[root@peachcat1 ~]# lsattr /var/log/secure
-----a---------- /var/log/secure
[root@peachcat1 ~]# chattr -a /var/log/secure
[root@peachcat1 ~]# lsattr /var/log/secure
---------------- /var/log/secure

5.默认权限:umask

(1)umask是用来控制默认创建文件或者目录的权限
(2)umask的设定为022,表示要减去的权限
①目录:777-022=755
②文件:666-022=644
(3)umask设定为奇数、偶数对目录和文件有什么影响
①目录:无影响
②文件:如果umask出现了奇数,需要在奇数位上+1
(4)设定umask
①umask number 临时(当前bash窗口有效,会随着bash窗口的关闭而结束)
②在/etc/profile /etc/login.defs中进行修改 永久

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