day 12 特殊权限
1.suid (set uid) 特殊权限
suid优点: 可以让普通用户执行无法执行的命令 方便
suid缺点: 如果rm 为suid, 无论谁执行该命令,都能删除系统的任何 资源
set uid 简称suid 当我们为某个命令设定了suid,无论谁使用该命令 都会使用该命令的 "属 主" 运行该命令
suid == 4000
chmod u+s /usr/bin/passwd chmod 4755 /usr/bin/passwd
chmod u-s 去掉权限

2.sgid (set gid) 特殊权限 (RHCE考试)
将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的 所属组保持一致,演示如下
3.sbit Sticky(SI TI KI)粘滞位
如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件,.
删除文件只能是 谁创建的谁删除. 除此以外 root 和/tmp/的所属主都能 删除该目录下的额内容.
[root@oldboyedu ~]# groupadd devops [root@oldboyedu ~]# useradd zhangsan -G devops
[root@oldboyedu ~]# useradd lisi -G devops
[root@oldboyedu ~]# mkdir /opt/share [root@oldboyedu ~]# chmod 2777 share/
[root@oldboyedu ~]# chown .devops share/
测试不同的用户在该目录下创建文件,检查属主和属组 #使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
设定粘滞位 1000
chmod o+t /tmp chmod 1777 /tmp
用户上传资源场景

4.特殊属性 chattr lsattr
-a 只能追加,无其他操作
-i 锁定文件,不能删除,不能追加,不能移动
1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属 性?
2.日志文件,希望能往里面追加内容,但不允许删除,应该添加什么 特殊属性?
5.umask 默认权限
umask是用来控制默认创建文件或目录的权限 umask设定为022,表示要减去的权限 目录 777 -022 =755 文件 666 -022 =644 umask 设定为奇数 偶数 对文件和目录有什么影响? 文件: 如果umask出现了奇数, 要在奇数位+1 目录: 对目录毫无影响 设定umask umask number 临时 (当前bash窗口有效,会随着bash的关闭一 起结束) vim /etc/profile /etc/login.defs # 如果修改则都为永久. PS: umask 知道就行, 不要调整,默认就是安全的权限.
[root@oldboyedu ~]# chattr +i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd ----i----------- /etc/passwd
不得任意更动文件或目录
[root@oldboyedu ~]# chattr -i /etc/passwd
[root@oldboyedu ~]# lsattr /etc/passwd ---------------- /etc/passwd
[root@oldboyedu ~]# useradd test123
[root@oldboyedu ~]# chattr +a /var/log/secure
[root@oldboyedu ~]# lsattr /var/log/secure -----a---------- /var/log/secure
6.今日总结
1.特殊权限 suid sgid sbit
2.特殊属性 chattr lsattr -a(/var/log/*.log) -i (/etc/passwd)
3.umask 默认权限( 表示要减去的权限 目录:777 -umask 文件:666 umask)
day 12 特殊权限的更多相关文章
- centos7下安装mysql8.0.12及设置权限
一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...
- Linux文件及目录权限解析
Linux系统9位基础权限体系 文件权限 * r权限 可读 对文件具有读取及查看文件内容的全新啊 * w权限 可写 对文件具有新增.修改文件内容的权限 ...
- linux系统的权限介绍
让我们用t o u c h命令创建一个文件:$ touch myfile现在对该目录使用ls -l命令: 我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件.你将会 ...
- [置顶] EASYUI+MVC4+VS2010通用权限管理系统开发
通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在平台开发完成后,特抽空总结一下平台知识,请各位在以后的时间里,关注博客的更新. 1.EASYUI+MVC4通用权限管理平台--前言 ...
- EASYUI+MVC4通用权限管理平台
通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在平台开发完成后,特抽空总结一下平台知识,请各位在以后的时间里,关注博客的更新. 1.EASYUI+MVC4通用权限管理平台--前言 ...
- unix文件权限
一.UNIX下关于文件权限的表示方法和解析 SUID 是 Set User ID, SGID 是 Set Group ID的意思. UNIX下可以用ls -l 命令来看到文件的权限.用ls命令所得到的 ...
- 默认权限umask、文件系统权限、特殊权限
第1章 权限相关错误 1.1 普通用户 ls /root/ /root 属于root 普通用户没有任何权限,所以无法查看 [oldboy@znix ~]$ ls /root/ ls: cannot ...
- linux_文件权限
权限贯穿linux整个系统 创建文件或目录,属主和组都是当前用户 linux权限位? 9位基础权限位, 3位一组,总共12位权限 用户对文件权限,相当于你的笔记本 r 读 4 w ...
- Linux权限总结
第1章 课前小拓展 虚拟机打不开原因 问题: 该虚拟机似乎正在使用中. 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权.否则,请按“取消(C)”按钮以防损坏. 配置文件: E:\vm ...
随机推荐
- web项目jsp中无法引入js问题
https://blog.csdn.net/C1042135353/article/details/80274685#commentBox 这篇文章超赞的,几个小时的时间看了这篇文章豁然开朗,瞬间懂了 ...
- DRF (Django REST framework) 中的视图扩展类
2. 五个扩展类 1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码. 该Mixin的list方法 ...
- Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session
Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...
- 01 Python网络爬虫简介
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后去互联网上爬取/获取数据的过程. 爬虫的分类 - 通用爬虫:就是爬取互联网中的一整张页面内容. - 聚焦爬虫:根据指定的需求爬取页面中指定的局部内容 ...
- python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题
Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其 ...
- spring-boot-plus V1.2.2 发布,5 Minutes Finish CRUD
更新日志 CHANGELOG [V1.2.2-RELEASE] 2019.08.26
- Codeforces 1204C
题意略. 思路:我的想法是逐步地找出这个序列中的重要点,我要判断当前这个点能不能删去,就要看上一个重要点和当前这个点 i 在序列中的下一个点 i + 1之间的距离 是否是最短距离,如果是,那么我们就可 ...
- 使用Docker快速部署ELK分析Nginx日志实践(二)
Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...
- 动态数组& allocator
问题来源 在编写程序的时候,对数组."二维数组"的分配的删除掌握的不是很清楚,不能正确的进行定义初始化. 以及在使用vector的时候,如何正确的定义及初始化 注意!!! 尽量使用 ...
- manacher --- 暂 旧版本
#include<bits/stdc++.h> using namespace std; ; ]; int n; ]; void manacher() { memset(len, , si ...
