day11 2019.8.8
特殊权限
1.suid(set uid)特殊权限 4000
# 当某个命令设定suid,无论谁使用该命令,都会使用该命令的属主身份运行该命令
# 1.
[root@kuangjie ~]# chmod u+s /usr/bin/passwd
[root@kuangjie ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
# 2.
[root@kuangjie ~]# chmod 4755 /usr/bin/passwd
[root@kuangjie ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
# 3.去掉权限
[root@kuangjie ~]# chmod u-s /usr/bin/passwd
[root@kuangjie ~]# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
# 优点:suid可以让普通用户执行无法执行的命令、方便
# 缺点:如果rm添加上suid,无论谁执行都能删除系统任何文件
###进程能够以何种身份去查看一个文件,取决于运行该进程的用户对这个文件有无操作权限!###
2.sgid(set gid) 2000
[root@kuangjie ~]# groupadd test1
[root@kuangjie ~]# useradd zhangsan -G test1
[root@kuangjie ~]# useradd lisi -G test1
[root@kuangjie ~]# mkdir /mnt/share
[root@kuangjie ~]# chmod 2777 /mnt/share/
[root@kuangjie ~]# chown .test1 /mnt/share/
#测试不同的用户在该目录下创建文件,检查属主和属组
#使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单
3.sbit 粘滞位
#如果一个目录设置了粘滞位,那么谁都可以在该目录下创建文件,但是删除只能删除自己创建的,除非是root或是/tmp/属组的用户
#粘滞位设置 1000
[root@kuangjie mnt]# chmod o+t /tmp/
[root@kuangjie mnt]# ll -d /tmp/
drwxrwxrwt. 8 root root 220 Aug 8 15:06 /tmp/
[root@kuangjie mnt]# chmod 1777 /tmp/
[root@kuangjie mnt]# ll -d /tmp/
drwxrwxrwt. 8 root root 220 Aug 8 15:06 /tmp/
#[root@kuangjie tmp]# ll
total 12
-rw-r--r--. 1 root root 25 Aug 8 10:27 123
-rw-r--r--. 1 kj kuangjie 0 Aug 8 15:09 2
-rw-rw-r--. 1 ghn ghn 10 Aug 8 11:30 ghnsd
-rw-rw-r--. 1 test test 12 Aug 8 11:28 test
#使用场景
用户上传大文件是先一点一点传入/tmp中,再移动到别的目录
4.chattr lsattr
# -i 锁定文件不能删除、移动、追加
# -a 只能追加
#使用场合:希望任何人都不能创建用户,给/etc/passwd锁定
[root@kuangjie tmp]# chattr +i /etc/passwd
[root@kuangjie tmp]# useradd zhang
useradd: cannot open /etc/passwd
#查看/etc/passwd
[root@kuangjie tmp]# lsattr /etc/passwd
----i----------- /etc/passwd
#解锁
[root@kuangjie tmp]# chattr -i /etc/passwd
[root@kuangjie tmp]# lsattr /etc/passwd
---------------- /etc/passwd
[root@kuangjie tmp]# useradd dnm
#日志文件,希望往里追加内容,但不能删除
[root@kuangjie tmp]# chattr +a /var/log/secure
[root@kuangjie ~]# echo "dnm" >>/var/log/secure
[root@kuangjie tmp]# tailf /var/log/secure
Aug 8 15:23:04 kuangjie su: pam_unix(su-l:session): session opened for user root by kj(uid=1001)
dnm
5.umask 默认权限
#umask是默认控制创建文件或目录的权限
#umask默认设定022
#临时修改 umask
#永久修改配置文件/etc/login.defs /etc/profile
#文件umask设定为奇数的话要在奇数位+1
#目录无影响