特殊权限(suid sticky acl mask)

1.suid

1. 普通用户可不可以修改密码?

答:是可以的,可以修改自己的密码

2. /etc/shadow 文件的作用是什么?

答:存储用户密码的文件

3. 普通用户是否可以修改/etc/shadow 文件?

答:不可以,因为这个文件对于普通用户来说,没有任何权限,所以不能读取,也不能写入。

4. 那么普通用户,为什么可以修改密码?

答:

①因为使用了passwd 这个命令

②passwd命令在属主权限位上,原本是x权限,变成了s权限

③s权限在属主权限位,又叫做SetUID权限,简称SUID

④作用:因为在使用有SUID权限的文件或命令时,会以该文件的属主身份去执行该命令。


SUID 作用详解

概念:只要一个命令文件在属主权限位上的x变成s的话,那么其它用户在执行这个命令文件时,就会以该命令文件的属主用户身份去执行。

此处的s表示当使用这个命令程序时,把当前用户当成文件的所属主,使用命令的时候,把当前用户当成文件的主人。

授权suid

方式:chmod  u+s   filename

实例:

2.sticky  bit

(粘滞位)

具有写权限的目录,通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权。

在目录设置sticky位,只有文件的所有者或root可以删除该文件

sticky设置在文件上毫无意义

授权方式

chmod  o+t  filename

chmod  o-t   filename

小问题:

权限中多了个t  是什么意思

除了文件夹所有者、超级管理员,其他人不能删除文件

3.ACL访问控制列表

实现灵活的权限管理     除了文件的所有者、所属组和其他人,可以对更多的用户设置权限

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m,       --modify-acl 更改文件的访问控制列表
-M,       --modify-file=file 从文件读取访问控制列表条目更改
-x,       --remove=acl 根据文件中访问控制列表移除条目
-X,       --remove-file=file 从文件读取访问控制列表条目并删除
-b,       --remove-all 删除所有扩展访问控制列表条目
-k,       --remove-default 移除默认访问控制列表
          --set=acl 设定替换当前的文件访问控制列表
          --set-file=file 从文件中读取访问控制列表条目设定
          --mask 重新计算有效权限掩码
-n,       --no-mask 不重新计算有效权限掩码
-d,       --default 应用到默认访问控制列表的操作
-R,       --recursive 递归操作子目录
-L,       --logical 依照系统逻辑,跟随符号链接
-P,       --physical 依照自然逻辑,不跟随符号链接
          --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
          --test 测试模式,并不真正修改访问控制列表属性
-v,       --version           显示版本并退出
-h,       --help              显示本帮助信息

4.mask权限

mask只影响除所有者和other的之外的人和组的最大权限

mask需要与用户的权限进行逻辑和运算后,才能变成有效的权限

用户或组的设置必须存在与mask权限设定范围内才会生效

实例:

设置文件mask权限只有读

setfacl  -m  mask::r   fl.txt

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

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

相关文章

STM32+Codesys工业软件PLC解决方案

工业控制系统在现代制造和自动化领域扮演着关键角色, 基于IEC 61131-3 标准的控制器编程开发软件平台CODESYS,适用于多种行业的控制系统的开发,使用户方便快捷地对自动化工程进行编程和配置,完成项目开发、软件测试和应用调试。 本次STM32联合合作伙伴C…

Docker logs 命令——查看docker容器日志

请直接看原文: 原文链接:Docker logs 命令——查看docker容器日志-CSDN博客 --------------------------------------------------------------------------------------------------------------------------------- 用法: docker logs [OPTIONS] CONTAINER …

2023年全国职业院校技能大赛网络系统管理网络模块 网络构建答题卡(600)(还原截图锐捷)

网络构建答题卡(600) 要求:使用下面指令查看其运行状态,并使用FSCapture截图软件进行截图,将输入结果的截图插入到文档中。 职业素养(25) 截图文档整洁规范,根据题目要求进行截图。 整理赛位,工具、设备归位,保持赛后整洁有序。 遵守赛项记录,听从裁判安排。 基础…

FC UxROM (Mapper 2) 操作

UxROM 概览 mapper号2卡带名UxROMPRG ROM容量256K / 4096KPRG ROM窗口16K 16K fixedPRG RAM容量无PRG RAM窗口无CHR ROM容量无CHR ROM窗口n/a扩展声音无IRQ无 寄存器 Bank 选择 ( 8000 − 8000- 8000−FFFE) 7 bit 0 ---- ---- xxxx pPPP||||- 为 CPU $8000-$BFFF 选择…

服务器运行状况监控工具

服务器运行状况监视提供了每个服务器状态和性能的广泛概述,通过监控服务器指标,如 CPU 使用率、内存消耗、I/O、磁盘使用率、进程等,服务器运行状况监控可以避免服务器停机。 服务器性能监控指标 服务器是网络中最重要的组件之一&#xff0…

计算机网络复习6

应用层 文章目录 应用层网络应用模型域名系统DNS文件传输协议FTP电子邮件万维网 网络应用模型 客户/服务器模型 客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求…

Python线程池实现的进阶知识

1.参数 max_workers 的设定 接前文 《Python多线程和线程池的下载实战用法 》中案例,继续分析 concurrent.futures.ThreadPoolExecutor() 是 Python 中的一个线程池实现,用于执行并发的任务。它可以通过参数 max_workers 来设置线程池的最大工作线程数。 在你提供的代码中,…

SLAM学习入门--编程语言

文章目录 编程语言一、C/C++C 与 C++ 的区别(面向对象的特点)C++ 与 Python的区别判断struct的字节数static 作用Const 作用extern "C"的作用多态如何实现多态?虚函数虚函数怎么实现的?析构函数虚析构函数的作用virtual函数能不能用在构造函数中&#

Java集合/泛型篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、ArrayList和linkedList的区别二、HashMap和HashTable的区别三、Collection包结构,与Collections的区别四、泛型常用特点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

Spring系列学习四、Spring数据访问

Spring数据访问 一、Spring中的JDBC模板介绍1、新建SpringBoot应用2、引入依赖:3、配置数据库连接,注入dbcTemplate对象,执行查询:4,测试验证: 二、整合MyBatis Plus1,在你的项目中添加MyBatis …

Java 实现自动获取法定节假日

一、背景 在实现业务需求的过程中,遇到了需要计算 x 个工作日后的日期需求。由于工作日是每年国务院发布的,调休和休假都没有规律,所以无法使用算法进行计算。 一般的实现方案是自己维护一个工作日和调休的表,或者去爬取国务院发…

AutoSAR(基础入门篇)4.4-Autosar_BSW的Memory功能

Memory功能 一、Autosar_BSW的Memory 1、Memory 组件图 2、架构与术语解释 3、片内存储 4、片外存储

游戏加速器LSP/DLL导致WSL.EXE无法打开问题修复!

解决办法: https://github.com/microsoft/WSL/issues/4177#issuecomment-597736482 方法一:(管理员身份) netsh winsock reset 方法二: WSCSetApplicationCategory 函数设置LSP加载权限 bool NoLsp(const wchar_t* …

从零开始:使用 BIND 构建和管理您的 DNS 服务器

1 前言 在这篇文章中,我将详细介绍如何使用 BIND(Berkeley Internet Name Domain)软件包中的 named 程序来配置和管理一个基本的 DNS 服务器。 从安装 BIND 开始,到设置 DNS 区域文件,再到运行和测试您的服务器&#x…

Oracle 19c OCP 1z0 082考场真题解析第17题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 17. Which three …

通过数字证书对PDF电子文件进行数字签名/盖章

以下代码详细说明如何使用数字证书对PDF电子文件进行数字签名/盖章。PDF文件签署主要传递PDF文件,数字证书信息,签章图片3个信息。代码中需要的文件、数字证书、签章图片可访问开放签电子签章开源系统详细了解系统的实现与效果。也可通过gitee开源社区下…

AQS之ReentrantReadWriteLock

AQS之ReentrantReadWriteLock 一. 归纳总结 ReentrantReadWriteLock适合读多写少的场景。是可重入的读写锁实现类。其中, 写锁是独占的,读锁是共享的。 支持锁降级(持有写锁、获取读锁,最后释放写锁的过程) 锁降级可以帮助我们…

2023-12-30 msys2的python包降级

点击 <C 语言编程核心突破> 快速C语言入门 msys2的python包降级 前言总结 前言 要解决问题: 调大模型, 要用python, 需要numpy安装pip结果是升级了, 对不上当前py版本, 啥都装不了, 需要降级. 想到的思路: https://repo.msys2.org/mingw/clang64/ 下载对应包 使用命令…

oracle-存储结构

文件包括 控制文件.ctl、数据文件.dbf、日志文件.log这三类放在存储上。 参数文件&#xff1a;空间的划分&#xff0c;进程的选用&#xff08;.ora&#xff09; oracle启动的时候需要读一下&#xff0c;数据库启动后&#xff0c;参数文件并不关闭&#xff0c;但即使文件丢了&a…

Python生成器 (Generators in Python)

Generators in Python 文章目录 Generators in PythonIntroduction 导言贯穿全文的几句话为什么 Python 有生成器Generator&#xff1f;如何获得生成器Generator&#xff1f;1. 生成器表达式 Generator Expression2. 使用yield定义生成器Generator 更多Generator应用实例表示无…