Linux之特殊权限

news2024/12/21 23:30:55

目录

Linux之特殊权限

SUID

定义

案例

原因

查找真个系统的SUID/SGID文件

SGID

定义:

Sticky Bit

案例

设置文件和目录的特殊权限

方法一 使用 chmod命令

方法二 使用数字形式的权限模式

设置新建文件或目录的默认权限

设置修改文件的扩展性

        设置文件的扩展性

                语法格式

                参数及作用

                案例

        查看文件扩展属性

                语法格式

                参数及作用

                案例

 


Linux之特殊权限

        在Linux 系统中 , 用户对文件或目录的访问权限 , 除了 r( 读取 ) w( 写入 ) x( 执行 ) 三种一般权限外 , 还有 SETUID(SUID) SET GID(SGID) Sticky Bit(粘滞位 ) 三种特殊权限 , 用于对文件或目录进行更加灵活方便的访问控制

SUID

定义

        是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得 该程序拥有者的 权限

案例

        student 在执行 passwd 修改自己的密码时,其修改的密码。最终是需要保存到/etc/shadow文件中,而这个文件的权限是----------. ,它的拥有者是root,也只有root可以“强制”存储其他用户都不可以查看

        但是student 去执行 passwd/usr/bin/passwd) ,却可以更新自己的密码,说明/etc/shadow ,student 这个普通用户的身份可以去访问文件, 可是明明 /etc/shadow 没 有student 可访问的权限!

原因

        存在S权限, S 权限在拥有者的权限位上时, 即如-rwsr-xr-x这样时, 称为 SUID

        SUID 即 Set UID --- UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者(root)

注意:

        SUID仅对二进制文件有效

查找真个系统的SUID/SGID文件

[root@localhost /]# find / -perm /6000
参数作用
6000查看所有具有SUID或GUID的文件
4000所有SUID的文件
2000所有的GUID

SGID

定义:

        文件 --- 如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候, 它的有效用户组 (effective group)将会变成该程序的用户组所有者 (group id) ( 真正的组,原来的组

        目录 --- 如果SGID 是设 置在A目录上 ,则在 A 目录内所建立的文件 目录的用户组 ,将会是此 A 目录的用户组
一 般来说, SGID 多用在特定的多人团队的项目开发上,在系统中用的很少

Sticky Bit

定义

        在具有SBIt的目录下, 用户若在该目录下具有 w 及 x 权限 ,则当用户在该目录下建立文件目录时,只有文件拥有者与root才有权力删除

注意:

        Sticky Bit (SBit) 当前只针对目录有效,对文件没有效果

案例

        当 student 用户 属于 A 目录的 group 成员 或属于 other 且拥有 w 权限 时,可以对该目录内 任何人建立 的目录或文件进行“ 删除/重命名/移动 等操作

        不过,如果将 A 目录加上了 Sticky Bit 权限,则 student用户只能针对自己建立的文件或目录进行“删除/重命名/移动等操作

设置文件和目录的特殊权限

方法一 使用 chmod命令

        chmod  u±s 目录或文件 --- 添加或移除 SUID 权限

        chmod  g±s 目录或文件 --- 添加或移除 GUID 权限

        chmod  o±t  目录或文件 --- 添加或移除 sticky 权限

方法二 使用数字形式的权限模式

        可采用“nnnn” 格式的四位八进制数字表示
后面三位是 一般权限的数字表示 ,前面第一位则是 特殊权限的标志数字
特殊权限数字
0
不设置特殊权限
1
只设置 sticky
2
只设置 GUID 权限
3
只设置 SGID sticky 权限
4
只设置 SUID 权限
5
只设置 SUID sticky 权限
6
只设置 SUID SGID
7
同时设置 SUID GUID sticky3 种权限。

设置新建文件或目录的默认权限

        在Linux 系统中 , 当用户创建一个新的文件或目录时 , 系统 都会为新建的文件或目录分配默认的权限 , 该默认权限 并不是继承了上级目录的权限 , 而是 与umask值(称为权限掩码)有关
与umask值的具体关系:
         新建 文件 的默认权限 = 0666 -umask
        新建 目录 的默认权限 = 0777 -umask

设置修改文件的扩展性

设置文件的扩展性

语法格式

        chattr [ -RV ] [+-=acdijsuADS] 文件或目录名

参数及作用

参数作用
-R递归设置指定目录及其目录下的所有文件和子目录的属性
-V详细显示目录和文件的属性设置情况
+增加某项属性
·
取消 某项属性
=
设置文件或目录 只具有 哪些属性
a
只允许 向文件 追加 数据, 不允许 任何进程 覆盖重写 文件的内容
A
设置不允许系统更新文件的最后访问时间
i
不可修改属性 。具有该属性的文件不能被删除、更名或修改其内容
c
压缩属性,写入或读取时,系统会 自动进行压缩 解压缩
s
安全删除属性。即在删除一个文件时,会使用 0填充 原文件所在的存贮区,以使 恢复工具无法恢复出文件的内容
u
可恢复性的删除 。对于具有该属性的文件,在删除时,系统会 保留其数据块 以便以后能恢复该文件的内容

案例

        示例 --- 要给/test/file1.txt 文件增加不可修改属性

[root@localhost /]# chattr +i /etc/rc.local

查看文件扩展属性

语法格式

        lsattr [-adR] 文件名或目录名

参数及作用

参数作用
-a
列出目录中的 所有文件 (包括隐藏文件)
-d
以与文件相同的方式列出目录的扩展属性
-R
递归的方式 列出目录的属性及其内容

案例

        示例 --- 将/test/file1.txt 文件设置为具有i属性和A属性,并查看设置后的属性

[root@localhost /]# chattr =ia /test/file1.txt 
[root@localhost /]# lsattr /test/file1.txt 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/645056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL连接查询——外连接

内连接查询顺序 首先看student和exam表的内容: 然后执行如下内连接查询: explain select a.*,b.* from student a inner join exam b on a.uidb.uid;查询计划如下 由于a表记录数量少为小表做全表扫描(rows为6),然后到…

微信小程序标签知识点总结

View 标签 <scroll-view class"scroll_list" scroll-x"true"> 标签 设置 scroll-x/y是可以设置 滚动模式到底是x方向还是Y方向 &#xff08; 需要调整样式&#xff0c;请参考如下 .scroll_list{ border: 1px solid red; width: 240px; white-sp…

算法学习day21

文章目录 530.二叉搜索树的最小绝对差递归 501.二叉搜索树中的众数递归 236.二叉树的最近公共祖先递归 总结 530.二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值…

管理类联考——逻辑——知识篇——题型说明

管理类联考基础逻辑—逻辑规划 一、联考中逻辑部分的重要性 管理类综合能力测试的数学、逻辑、写作三个部分中&#xff0c;逻辑是毫无疑问最重要的一部分&#xff0c;体现在以下三个方面&#xff1a; 1、时间分配&#xff1a;逻辑部分的阅读量相当大&#xff0c;30道题的阅读…

2023史上最全java面试题题库大全800题含答案

如果你不停地加班。却很少冒险&#xff0c;也很少学习&#xff0c;那你极大可能会陷入到内卷中。 为什么这么说呢&#xff1f;我们先来捋清楚「内卷」的概念&#xff1a; 「内卷化」简而言之就是&#xff1a;日复一日&#xff0c;越混越掉坑里。 所谓内卷化&#xff0c;指一种社…

HTTP 网络通讯过程

1.知识点&#xff1a; 在计算机网络中&#xff0c;通信协议用于规范数据传输的格式和传送方式。下面是常见的网络通信协议&#xff1a; HTTP协议&#xff1a;超文本传输协议&#xff0c;用于在Web浏览器和Web服务器之间传输HTML文件和其他资源。 HTTPS协议&#xff1a;HTTP安…

《水经注地图服务》如何快速发布经纬度DAT缓存

概述 《水经注地图服务》的快速发布功能是一个能够帮助用户实现快速发布地图服务的功能&#xff0c;并且提供常规情况下大多数用户所需的默认配置&#xff0c;让用户在发布地图时更加便捷。 这里为大家演示如何快速发布经纬度DAT缓存以及如何在水经微图中加载。 准备工作 离…

2023-6-14-第五式原型模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

IDEA中类模板注释和方法注释模板

类注释 /* *ClassName ${NAME} *Author --你的别名 *Description //TODO *Date ${DATE} ${TIME} *Version 1.0 **/ 把上面的代码粘贴到settings-editor-file and code templates下的class的“public class”和#parese的中间 2.方法注释 /* *Author --你的别名 *Description …

ZK+麦克风:反AI音频认证

1. 引言 当前&#xff0c;已越来越难以区分AI生成的音频与人类的声音。可能带来欺诈、身份盗用以及其它滥用问题。 在AI生成的音频可以完美模仿人声的当前环境中&#xff0c;需要一个可靠的信任链——从最初的音频捕获到最终的播放。这种信任链可以使用加密技术建立&#xff…

Java实训日志04

文章目录 八、项目开发实现步骤&#xff08;六&#xff09;创建数据访问接口1、创建学校数据访问接口2、创建状态数据访问接口3、创建学生数据访问接口4、创建用户数据访问接口 八、项目开发实现步骤 &#xff08;六&#xff09;创建数据访问接口 DAO: Data Acess Object - 数…

antd-vue - - - - - upload组件的使用

upload组件的使用 参数说明&#xff1a; file:list : 上传列表数据 name: 上传时的key data: 上传时额外的参数 header: 上传列表数据 actions: 上传接口地址 before-upload: 上传之前的回掉 change: 传文件改变时 // 变量定义updateData: { billId: "", fileType: &…

Flutter 自定义Grade组件

/*** images 图片数组* titles title数组* length_w 一行的数量* length_h 行数*/static Widget getMenuGrade(List<String> images, List<String> titles, int length_w, int length_h) {int startIndex 0;List<Widget> rowList [];List<List<Widge…

docker-compose服务名称和容器名称区别

需求及结论 在docker-compose文件一般书写如下&#xff1a; version: 3.8 x-logging: &default-loggingoptions:max-size: "200m"max-file: "5"driver: json-file x-environment: &default-environmentTZ: Asia/ShanghaiLANG: C.UTF-8 services:…

前端什么最难学?

前言 个人认为是JS&#xff0c;无论是在平时的项目或者找工作时候JS都是大头&#xff0c;相比起其他的部分&#xff0c;它相对而言是难一点&#xff0c;同时也是十分重要的一部分&#xff0c;学好原生JS&#xff0c;后续的学习才能基于此循序渐进&#xff0c;下面是我总结的关…

(2023 最新版)大厂面试必问的1000道Java面试题附答案详解

很多 Java 工程师的技术不错&#xff0c;但是一面试就头疼&#xff0c;10 次面试 9 次都是被刷&#xff0c;过的那次还是去了家不知名的小公司。 问题就在于&#xff1a;面试有技巧&#xff0c;而你不会把自己的能力表达给面试官。 应届生&#xff1a;你该如何准备简历&#x…

报表生成器FastReport .Net用户指南:“SVG”对象

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…

数据库|TiDB灾备切换实践-部署

刘昊 | 数据库工程师 最近手头有个系统&#xff0c;有需要搭建灾备库的需求&#xff08;RTO要求4小时内&#xff0c;根据实际情况计算&#xff09;。考虑到生产系统是5版本&#xff0c;TiCDC存在一些兼容性问题&#xff0c;且TiDB Binlog已经有实践案例及经验可供参考&#xf…

SpringCloud Eureka注册服务提供者(七)

这里我们在原来的服务提供者项目 microservice-student-provider-1001 上面直接修改&#xff1a; 首先pom.xml修改&#xff0c;加上eureka客户端依赖&#xff1a; <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>…

【MySQL高级篇笔记-数据库备份与恢复(下) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、物理备份与逻辑备份 二、mysqldump实现逻辑备份 1、 备份一个数据库 2、备份全部数据库 3、备份部分数据库 4、备份部分表 5、备份单表的部分数据 6、排除某些表的备份 7、只备份结构或只备份数据 8、备份中包含存储过…