文件与目录权限设置不止读、写、执行这些,还有所谓的特殊权限,由于特殊权限会拥有一些“特权”;

1 2 3 4
本章内容 SUID SGID SBIT 文件扩展权限ACL

1、SUID

作用:程序运行时执行者拥有程序属主(owner)的权限

限制1:SUID权限仅对二进制程序(binary program)有效,即系统中的一些命令,不能用在脚本上;

限制2:对目录设置无效

限制3:执行者对于该程序需要具有x的可执行权限;

表现形式:owner身份的x权限上显示s,如:/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”

[test1@localhost ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd

2、SGID

作用:①程序运行时执行者拥有程序属组(group)的权限;

②在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组;

限制1:既可以给二进制可执行程序设置,也可以对目录设置,SGID主要用在目录上;

限制2:程序执行者对于该程序来说,需具备x的权限;

表现形式:属组(group)身份的x权限上显示s 如: -rwxrwsrwx 1 test1 test1 0 5月 13 10:21 dirname

[test1@localhost ~]$ chmod g+s 2
[test1@localhost ~]$ ll
总用量 0
-rwxrwsrwx 1 test1 test1 0 5月 13 10:21 2

3、SBIT

作用:当用户在该目录下建立文件或目录时,仅有owner与 root才有权力删除(针对other身份);

限制1:针对目录设置,对文件不起作用;

表现形式:其他人身份(other)的x权限上显示t 如:drwxrwxrwt. 43 root root 4096 5月 13 15:48 /tmp

[test1@localhost ~]$ ls -ld /tmp
drwxrwxrwt. 43 root root 4096 5月 13 15:48 /tmp

权限设置

SUID:chmod u+s
SGID:chmod g+s
SBIT:chmod o+t

数字模式就是四位数字中的第一位代表特殊权限(suid=4、sgid=2、sbit=1);不建议用数字模式因为有时会不好用

SUID:chmod 4777
SGID:chmod 2777
SBIT:chmod 1777 # 其中777指代三种基本权限(r、w、x)设置,因情况设定;

演示

SUID

╭─root@localhost.localdomain ~
╰─➤ ll `which passwd`
-rwsr-xr-x. 1 root root 28K 6月 10 2014 /bin/passwd #可以看出passwd已经设置了suid
╭─root@localhost.localdomain ~
╰─➤ chmod u-s /bin/passwd #删除suid的设置
╭─root@localhost.localdomain ~
╰─➤ ll /bin/passwd
-rwxr-xr-x. 1 root root 28K 6月 10 2014 /bin/passwd #可以看出已删除
╭─root@localhost.localdomain ~
╰─➤ su - du 切换到du用户
上一次登录:一 5月 13 16:26:41 CST 2019pts/0 上
[du@localhost ~]$ passwd #使用passwd修改du用户密码
更改用户 du 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 鉴定令牌操作错误 #因为du用户没有权限所以不成功
[du@localhost ~]$ su - root
密码:
上一次登录:一 5月 13 18:09:08 CST 2019pts/0 上
╭─root@localhost.localdomain ~
╰─➤ chmod u+s /bin/passwd #给du用户设置suid
╭─root@localhost.localdomain ~
╰─➤ ll /bin/passwd
-rwsr-xr-x. 1 root root 28K 6月 10 2014 /bin/passwd #设置成功
╭─root@localhost.localdomain ~
╰─➤ su - du
上一次登录:一 5月 13 18:09:50 CST 2019pts/0 上
[du@localhost ~]$ passwd
更改用户 du 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。 #使用passwd设置成功

SGID

╭─root@localhost.localdomain /home
╰─➤ ll
总用量 4.0K
drwx------. 14 du du 4.0K 5月 13 17:59 du
╭─root@localhost.localdomain /home
╰─➤ cd du
╭─root@localhost.localdomain /home/du
╰─➤ touch testfile1
╭─root@localhost.localdomain /home/du
╰─➤ mkdir testdir1
╭─root@localhost.localdomain /home/du
╰─➤ ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 18:49 testdir1 #属组还是创建者的属组
-rw-r--r--. 1 root root 0 5月 13 18:49 testfile1 #属组还是创建者的属组
╭─root@localhost.localdomain /home/du
╰─➤ cd ..
╭─root@localhost.localdomain /home
╰─➤ chmod 2700 du #数字形式设置sgid
╭─root@localhost.localdomain /home
╰─➤ ll
总用量 4.0K
drwx--S---. 15 du du 4.0K 5月 13 18:49 du
╭─root@localhost.localdomain /home
╰─➤ cd du
╭─root@localhost.localdomain /home/du
╰─➤ touch testfile2
╭─root@localhost.localdomain /home/du
╰─➤ mkdir testdir2
╭─root@localhost.localdomain /home/du
╰─➤ ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 18:49 testdir1
drwxr-sr-x. 2 root du 6 5月 13 18:51 testdir2 #属组继承了设置了sgid父目录du的属组
-rw-r--r--. 1 root root 0 5月 13 18:49 testfile1
-rw-r--r--. 1 root du 0 5月 13 18:50 testfile2 #属组继承了设置了sgid父目录du的属组

SBIT

╭─root@localhost.localdomain /home/testdir1
╰─➤ touch testfile{1..3}
╭─root@localhost.localdomain /home/testdir1
╰─➤ mkdir testdir{1..3}
╭─root@localhost.localdomain /home
╰─➤ su - user1
上一次登录:一 5月 13 19:09:09 CST 2019pts/0 上
[user1@localhost ~]$ cd /home/testdir1
[user1@localhost testdir1]$ rm test*
rm: 无法删除"testdir1": 是一个目录
rm: 无法删除"testdir2": 是一个目录
rm: 无法删除"testdir3": 是一个目录
rm:是否删除有写保护的普通空文件 "testfile1"?y
rm:是否删除有写保护的普通空文件 "testfile2"?y
rm:是否删除有写保护的普通空文件 "testfile3"?y
[user1@localhost testdir1]$ ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 19:08 testdir1
drwxr-xr-x. 2 root root 6 5月 13 19:08 testdir2
drwxr-xr-x. 2 root root 6 5月 13 19:08 testdir3
[user1@localhost testdir1]$ rm -r test*
rm:是否删除有写保护的目录 "testdir1"?y
rm:是否删除有写保护的目录 "testdir2"?y
rm:是否删除有写保护的目录 "testdir3"?y # testdir1目录没有设置sbit,user用户可以删除root用户创建的文件
[user1@localhost testdir1]$ ll
总用量 0
[user1@localhost testdir1]$ su - root
密码:
上一次登录:一 5月 13 19:11:10 CST 2019pts/0 上
最后一次失败的登录:一 5月 13 19:14:30 CST 2019pts/0 上
最有一次成功登录后有 2 次失败的登录尝试。
╭─root@localhost.localdomain ~
╰─➤ cd /home
╭─root@localhost.localdomain /home
╰─➤ ll
总用量 4.0K
drwx------. 16 du du 4.0K 5月 13 18:51 du
drwxrwxrwx. 2 root root 6 5月 13 19:13 testdir1
drwx------. 5 user1 user1 121 5月 13 19:09 user1
╭─root@localhost.localdomain /home
╰─➤ chmod o+t testdir1 #给testdir1目录设置sbit
╭─root@localhost.localdomain /home
╰─➤ ll
总用量 4.0K
drwx------. 16 du du 4.0K 5月 13 18:51 du
drwxrwxrwt. 2 root root 6 5月 13 19:13 testdir1
drwx------. 5 user1 user1 121 5月 13 19:09 user1
╭─root@localhost.localdomain /home
╰─➤ cd testdir1
╭─root@localhost.localdomain /home/testdir1
╰─➤ touch file{1..3}
╭─root@localhost.localdomain /home/testdir1
╰─➤ su - user1
上一次登录:一 5月 13 19:11:39 CST 2019pts/0 上
[user1@localhost ~]$ cd ..
[user1@localhost home]$ cd testdir1
[user1@localhost testdir1]$ rm file*
rm:是否删除有写保护的普通空文件 "file1"?y
rm: 无法删除"file1": 不允许的操作
rm:是否删除有写保护的普通空文件 "file2"?y
rm: 无法删除"file2": 不允许的操作
rm:是否删除有写保护的普通空文件 "file3"?y
rm: 无法删除"file3": 不允许的操作 # user1用户不能删除root用户创建的文件
[user1@localhost testdir1]$

文件扩展权限ACL

作用:对特定的用户进行权限管控,

[root@cjk ~]# setfacl -m u:testuser:rw filename或dirname #u-->user ;指定testuser用户有特殊权限rw;-m表设置

[root@cjk ~]# getfacl filename或dirname #查看acl权限

[root@cjk ~]# setfacl -b filename或dirname #删除acl权限

[root@cjk ~]# setfacl -R -m u:du:rw- testdirectory/ #-R一定要在-m前面,表示目录下所有文件

[root@cjk ~]# setfacl -x u:du /tmp/a.txt # 去掉单个权限

[root@cjk ~]# setfacl -b /tmp/a.txt # 去掉所有acl权限

演示

╭─root@localhost.localdomain /home
╰─➤ setfacl -m u:user1:x file1
╭─root@localhost.localdomain /home
╰─➤ su - user1
上一次登录:一 5月 13 19:16:18 CST 2019pts/0 上
[user1@localhost ~]$ cd /home
[user1@localhost home]$ getfacl file1
# file: file1
# owner: root
# group: root
user::rwx
user:user1:--x
group::rwx
mask::rwx
other::rwx [user1@localhost home]$ cat file1
cat: file1: 权限不够
[user1@localhost home]$ su - du
上一次登录:一 5月 13 19:51:51 CST 2019pts/0 上
[du@localhost ~]$ cat /home/file1
hello
[du@localhost ~]$ su - root
密码:
上一次登录:一 5月 13 19:52:57 CST 2019pts/0 上
╭─root@localhost.localdomain ~
╰─➤ setfacl -b /home/file1
╭─root@localhost.localdomain ~
╰─➤ getfacl /home/file1
getfacl: Removing leading '/' from absolute path names
# file: home/file1
# owner: root
# group: root
user::rwx
group::rwx
other::rwx

linux系统权限管理拓展:特殊权限的更多相关文章

  1. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  2. 【Linux】 Linux权限管理与特殊权限

    Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...

  3. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  4. 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)

    第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...

  5. linux 系统磁盘管理体系

    目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...

  6. centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率 ,crontab备份, 第十八节课

    centos linux系统日常管理复习 物理CPU和每颗CPU的逻辑核数,uptime ,w,vmstat,iftop ,iotop ,sar ,ps,netstat ,一个网卡配置多个IP,mii ...

  7. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  8. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  9. linux系统用户管理(一)

    Linux系统用户管理1.用户管理*****2.Linux用户命令****3.用户创建的原理***4.密码管理***5.组命令管理**6.身份切换*****7.sudo提升权限***** 我们现在所使 ...

  10. 实验三:Linux系统用户管理及VIM配置

    项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043133-木腾飞 学习目标 1.学习Linux系统用户管理2.学习vim使用及配置 实 ...

随机推荐

  1. ping 路由跟踪

    pathping: pathping ip地址/网址 C:\Users\Administrator>pathping 119.29.18.11 通过最多 30 个跃点跟踪到 119.29.18. ...

  2. C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比

    在医院实际环境中,经常遇到有问题的患者,对于一些特殊的场景,比如骨折,肺结节,心脑血管问题 需要图像对比增强来更为清晰的显示病灶助于医生确诊,先看效果: 肺纹理增强: 肺结节增强: 血管对比增强: 骨 ...

  3. python 3.6 导入c++dll所遇到的坑

    1 返回值在c++里面为const char*,python 接收实际上为int类型 原因:python默认返回值为int 解决方法: import ctypes import os CUR_PATH ...

  4. fastjson反序列化漏洞原理及利用

    重要漏洞利用poc及版本 我是从github上的参考中直接copy的exp,这个类就是要注入的类 import java.lang.Runtime; import java.lang.Process; ...

  5. ssh信任 sftp用法 scp用法【转】

    为了进行批量关机工作,前提要配置好ssh的双机信任. A机192.168.1.241 B机192.168.1.212 在A机上获取一个pub密钥,即为公共密钥. 执行这个命令后:ssh-keygen  ...

  6. 计算机考研复试 A+B

    题目描述 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入描述: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B ...

  7. Flutter 基础组件:状态管理

    前言 一个永恒的主题,"状态(State)管理",无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的. ...

  8. 按装parallels tool的失败之路

    这是一篇对于其他人来说没什么意义的博客.单纯的可以被看作是日记. 首先,我想安装parallels tool. 但是照着网上很多教程(如www.cnblogs.com/artwalker/p/1323 ...

  9. Linux面试必备

    1.Linux的体系结构

  10. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...