linux系统权限管理拓展:特殊权限
文件与目录权限设置不止读、写、执行这些,还有所谓的特殊权限,由于特殊权限会拥有一些“特权”;
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系统权限管理拓展:特殊权限的更多相关文章
- Linux系列教程(十六)——Linux权限管理之ACL权限
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...
- 【Linux】 Linux权限管理与特殊权限
Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...
- Linux权限管理之ACL权限
注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...
- 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)
第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...
- linux 系统磁盘管理体系
目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...
- 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 ...
- centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课
centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课 rsync可以增量同步,scp不行 ...
- 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 ...
- linux系统用户管理(一)
Linux系统用户管理1.用户管理*****2.Linux用户命令****3.用户创建的原理***4.密码管理***5.组命令管理**6.身份切换*****7.sudo提升权限***** 我们现在所使 ...
- 实验三:Linux系统用户管理及VIM配置
项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043133-木腾飞 学习目标 1.学习Linux系统用户管理2.学习vim使用及配置 实 ...
随机推荐
- ping 路由跟踪
pathping: pathping ip地址/网址 C:\Users\Administrator>pathping 119.29.18.11 通过最多 30 个跃点跟踪到 119.29.18. ...
- C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比
在医院实际环境中,经常遇到有问题的患者,对于一些特殊的场景,比如骨折,肺结节,心脑血管问题 需要图像对比增强来更为清晰的显示病灶助于医生确诊,先看效果: 肺纹理增强: 肺结节增强: 血管对比增强: 骨 ...
- python 3.6 导入c++dll所遇到的坑
1 返回值在c++里面为const char*,python 接收实际上为int类型 原因:python默认返回值为int 解决方法: import ctypes import os CUR_PATH ...
- fastjson反序列化漏洞原理及利用
重要漏洞利用poc及版本 我是从github上的参考中直接copy的exp,这个类就是要注入的类 import java.lang.Runtime; import java.lang.Process; ...
- ssh信任 sftp用法 scp用法【转】
为了进行批量关机工作,前提要配置好ssh的双机信任. A机192.168.1.241 B机192.168.1.212 在A机上获取一个pub密钥,即为公共密钥. 执行这个命令后:ssh-keygen ...
- 计算机考研复试 A+B
题目描述 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入描述: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B ...
- Flutter 基础组件:状态管理
前言 一个永恒的主题,"状态(State)管理",无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的. ...
- 按装parallels tool的失败之路
这是一篇对于其他人来说没什么意义的博客.单纯的可以被看作是日记. 首先,我想安装parallels tool. 但是照着网上很多教程(如www.cnblogs.com/artwalker/p/1323 ...
- Linux面试必备
1.Linux的体系结构
- Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类
准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...