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

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. Adnc简介

    Adnc是一个轻量级的.Net Core微服务(microservices)快速开发框架,同时也可以应用于单体架构系统的开发.框架基于JWT认证授权,包含基础的后台管理功能,代码简洁.易上手.学习成本 ...

  2. Alpha冲刺--总结随笔

    一.项目预期计划 时间 (天) 前端预期计划 完成情况 后端预期计划 完成情况 1-2 前端开始基本页面的设计 完成 整合项目依赖,搭建基本框架,建立数据库 完成 3-5 前端基础页面的实现与完善 完 ...

  3. Redis缓存篇(二)淘汰机制:缓存满了怎么办?

    上一讲提到,缓存的容量总是小于后端数据库的.随着业务系统的使用,缓存数据会撑满内存空间,该怎么处理呢? 本节我们来学习内存淘汰机制.在Redis 4.0之前有6种内存淘汰策略,之后又增加2种,一共8种 ...

  4. 转载-Oracle 数据库导入导出 dmp文件

    首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入.导出数据.补充:1.要新建一个数据库: Oracle数据导入导出imp/exp就相当于oracle数据还 ...

  5. xtrabackup 备份与恢复

    书上摘抄 ---深入浅出mysql 448页  grant reload on *.* to 'backup'@'localhost' identified by '123456'; grant re ...

  6. 19.java设计模式之备忘录模式

    基本需求 游戏的角色有攻击力和防御力,在大战Boss之前保存自身的状态(攻击力和防御力),当大战Boss之后攻击力和防御力下降,从备忘录对象恢复到大战前的状态 传统方案 一个对象,就对应一个保存对象状 ...

  7. CTFHub - Web(四)

    最近又是每天忙到裂开,,,淦 xss: 反射型: 1.第一个输入框与下面Hello后的内容相同,猜测可以通过该输入,改变页面内容. 测试语句: <script>alert(1)</s ...

  8. 使用modify修改内表

    modify修改内表,有这样一种方式,MODIFY TABLE itab FROM wa [TRANSPORTING ..]. 然后这里的内表itab是有条件的,这个itab必须要有table key ...

  9. 基于FPGA的光口通信开发案例|基于Kintex-7 FPGA SFP+光口的10G UDP网络通信开发案例

    前言 自著名华人物理学家高锟先生提出"光传输理论",实用化的光纤传输产品始于1976年,经历了PDH→SDH→DWDM→ASON→MSTP的发展历程.本世纪初期,ASON/OADM ...

  10. Mybatis执行流程学习之手写mybatis雏形

    Mybatis是目前开发中最常用的一款基于ORM思想的半自动持久层框架,平时我们都仅仅停留在使用阶段,对mybatis是怎样运行的并不清楚,今天抽空找到一些资料自学了一波,自己写了一个mybatis的 ...