2020-3-17 linux 特殊权限

2020-3-17 linux 特殊权限

1.特殊权限 s(suid)属主位s

普通用户 执行passwd命令时,由于passwd命令拥有suid特殊权限,那么命令执行过程中,会以属主身份运行该命令。

[root@wangjc ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

特殊权限设定

==chmod u+s 目录==

chmod 4755 目录

练习: 给cat命令 更改特殊权限s

[root@wangjc ~]# which  cat        #确定cat命令路径
/usr/bin/cat
[root@wangjc ~]# ll /usr/bin/cat    #确定cat命令权限
-rwxr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat
[root@wangjc ~]# chmod u+s /usr/bin/cat   #给cat命令添加suid权限
[root@wangjc ~]# ll /usr/bin/cat       #检查执行结果
-rwsr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat

[wangjc1@wangjc ~]$ cat /etc/passwd    #普通用户检查s 执行权限
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

[root@wangjc ~]# chmod 755 /usr/bin/cat   #恢复cat 命令的权限
[root@wangjc ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat

2.特殊权限 s(sgid)属组位s s (执行权限) S(没有执行权限)

==chmod g+s 路径==

1.建立测试目录

[root@bgx ~]# cd /tmp/ && mkdir dtest

2.给测试目录赋予SetGID权限,检查SetGID是否生效

[root@bgx tmp]# chmod g+s dtest/ && ll -d dtest/
drwxr-sr-x 2 root root 6 Apr 13 05:21 dtest/

3.给测试目录赋予777权限,让普通用户可以写

[root@bgx tmp]# chmod 777 dtest/

4.切换成普通用户lamp,并进入该目录

[root@bgx tmp]# su - lamp
[lamp@bgx ~]$ cd /tmp/dtest/

5.普通用户创建测试文件,检查文件的信息

[lamp@bgx dtest] ll
-rw-rw-r-- 1 lamp root 0 Apr 13 05:21 lamp_test

sgid作用
使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。

3.特殊权限sbit

-XXXXXXrwt

针对的是目录:

目录一旦被赋予了粘滞位,用户只能删除自己创建的文件 别的文件不能删除

[root@wangjc ~]# ll -d /tmp
drwxrwxrwt. 20 root root 4096 Mar 17 10:38 /tmp

​ 后面学习MySQL的时,当我门要初始化MySQL时他会创建一些临时文件/tmp目录下,当初始化完毕后自己会清理这些数据 ,若目录灭有粘滞位 则报错

==chmod o+t /tmp==

chmod 1777 /tmp

4.特殊权限 chatrr

chattr 【+-=】文件或者目录

==-a== 让文件目录只能追加内容 适用于日志类文件

==-i== 不得任意变更文件或目录

lsattr 查看文件目录的特殊权限

[root@wangjc wjc]# lsattr file1.txt #查看 特殊权限
---------------- file1.txt
[root@wangjc wjc]# chattr +a file1.txt   #添加  特殊权限  a
[root@wangjc wjc]# lsattr file1.txt 
-----a---------- file1.txt
[root@wangjc wjc]# rm -f file1.txt    #验证  特殊权限
rm: cannot remove ‘file1.txt’: Operation not permitted

[root@wangjc wjc]# chattr -a file1.txt  #去除特殊权限
[root@wangjc wjc]# lsattr file1.txt 
---------------- file1.txt

注: 需要root 用户去除特殊权限后才能删除文件

5.默认权限

文件的初始权限 ==666==

目录的初始权限 ==777==

系统默认UMASK

​ root 022

普通用户 002

家目录是 077

临时修改 umask

文件的权限值要在 权限的结果要在奇数位上加1

例 umask 035 666-035=631+011=642

​ umask 023 666-023=643+001=644

你可能感兴趣的:(2020-3-17 linux 特殊权限)