RHCSA Linux 系统 文件系统权限

1. 文件的一般权限

(1)文件权限标识解读

drwxr - xr - x. 12 root root 144 Feb 17 16:51 usr

➤d:文件类型(d 表示目录)

➤rwx:文件所有者权限(读 r,写 w,执行 x)

➤r - x:所属组用户权限

➤r - x:其他用户权限

➤.   :意味着文件用了 SELinux 安全相关设置,没掺和其它访问控制

如果此位置是空格,说明系统没有给这文件用啥特殊访问控制手段

如果此位置是 “+”,就是文件既用了 SELinux 安全设置,还搭配了像 ACL 这类别的访问控制措施

➤12:文件硬链接数

➤root:所有者

➤root:所属组

➤144:文件大小,单位是 B,字节

➤Feb 17 16:51:修改时间

➤usr:文件名

(2)权限对象与权限类型

① 权限对象

➤owner 属主,缩写 u

➤group 属组,缩写 g

➤other 其他,缩写 o
② 权限类型

➤r:Read 读

➤w:Write 写

➤x:Execute 执行
❗❗❗ root 用户不受文件权限的读写限制,执行权限受限制

(3)权限表示

(4)修改权限 - chmod 命令

格式

chmod [选项] [ugoa] [±=] [rwx] 文件或目录

chmod [选项] nnn 文件或目录
选项

-R 递归修改指定目录下的所有文件、子目录权限

ugoa:u 属主、g 属组、o 其他、a 所有用户
±=:+ 添加权限、- 取消权限、= 只赋予指定权限
nnn:用三位数八进制数字表示权限

(5)权限作用

文件

➤r:读取内容

➤w:更改内容

➤x:作为可执行文件
目录

➤r:列出目录内文件名

➤w:创建或删除目录内文件

➤x:切换到目录


(6)修改文件或目录的属主和属组 - chown

修改文件或目录的所有者
格式:chown [选项] 新属主 [:[新属组]] 文件或目录
选项:-R 可递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系
修改文件或目录的属组
命令格式:

chown [选项] : 新属组 文件或目录

chgrp [选项] 新属组 文件或目录

2. 文件和目录的特殊权限


(1)SUID 权限 系统默认

含义:在一般用户执行某些程序时,暂时获得该程序文件的所有权限
示例:passwd,任何用户用此指令都可以修改自己的密码
❗❗❗ 仅对二进制文件有效

二进制文件
定义:由 0 和 1 组成机器语言代码,计算机可直接处理,像可执行程序、动态链接库,可直接阅读的文本文件不同
区分方式:
① 扩展名:部分有特定的扩展名,如:.bin、.so (动态链接库)、.exe (Windows 可执行文件,Linux 较少用)
② file 命令:运行 file 文件名,显示 ELF 等相关信息是二进制文件
③ Vim:用 Vim 打开 大量乱码大多为二进制文件

❗❗❗ 执行过程中获得所有者的权限
❗❗❗ 只在程序执行时有效 
③ 查询拥有 SUID 权限的文件
find /-perm/4000(4:代表拥有者的    000:S 权限位)


(2)SGID 权限 后期设置chmod 指令

文件上:设置在二进制文件上,不论用户是谁,执行程序时进程所属组变成程序文件所属组
就像一个特殊工具,不管谁用它,都会临时加入工具所属的团队,以便能使用团队的资源和权限来做事
目录上:设置在目录上,目录内新建文件或目录所属组是此目录所属组,常用于多人团队项目开发
简单说,在一个拥有归属团队的仓库里,新添的东西都会自动归属于这个团队,便于管理
查询命令
find  /-perm 1/2000


(3)Sticky Bit 权限 后期用 chmod 指令

作用:只针对目录有效,在有 SBit 的目录下,用户若有该目录写及 x 权限,创建文件或目录后,只有文件所有者与 root 才有权删除
示例:在有粘滞位的目录里,即便 student 用户有写和执行权限,也只能删除自建的文件,防止误删或恶意删他人文件,保障系统安全


(4)设置特殊权限

可通过 chmod 命令设置,既可用 u+s、g+s、t 字符权限设置,也能用 nnnn 格式的四位八进制数字表示,后两位一般为权限数字,前两位是特殊权限标志数字

0:不设置特殊权限

1:只设置 sticky

2:只设置 SGID 和 sticky 权限

4:设置 SGID 权限

5:设置 SGID 和 sticky 权限

6:设置 SUID 和 SGID 权限

7:设置 SUID,SGID,sticky 三种权限

3. ACL 权限


(1)ACL 权限管理命令

① 查看 ACL 权限
getfacl 文件名
设定 ACL 权限
语法:setfacl 选项 文件名
选项:

➤-m:设定 ACL 权限 (u: 用户名:权限或 g: 组名:权限)

➤-x:删除指定的 ACL 权限

➤-b:删除所有的 ACL 权限

➤-k:删除默认 ACL 权限

➤-R:递归设定 ACL 权限
示例

给用户和用户组添加 ACL 权限
用户:setfacl -m  u: 用户名:权限 指定文件名
用户组:setfacl -m  g:  组名: 权限  指定文件名

递归设置
setfacl -R -m u: 用户名:权限 文件名(子目录和文件继承)

给目录设置默认权限
setfacl -m d:u: 用户名:权限 目录名(新建子文件继承)

4. 权限掩码 umask

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

新建文件默认权限 = 666 - umask 值

新建目录默认权限 = 777 - umask 值

 

(2)操作命令

查看
umask
临时修改
umask 000
永久修改
vim /etc/profile(或 vi /etc/profile)
添加
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

umask 002

else

umask 022

fi
退出 /etc/profile

 

source /etc/profile

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

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

相关文章

华为云IoT平台与MicroPython实战:从MQTT协议到物联网设备开发

目录 前言 1. 华为云 1.1. 创建实例 1.2. 创建产品 1.3. 编辑服务模型 1.4. 注册设备 1.4.1. 复制设备连接参数 1.5. 连接参考代码 2. micropython版-物联网 2.1. 环境搭建 2.2. 实现步骤 2.3. 示例代码 结语 前言 物联网(IoT)技术的快速发…

2025-04-30 AIGC-如何做短片视频

摘要: 2025-04-30 AIGC-如何做短片视频 如何做短片视频: 一、画图修图 1.保存视频(无水保存) 2.文案提取(提取文案) 3. DeepSeek(提示词) 4.小梦Ai(图片视频) 5.修图Ai 6.扩图Ai 7.养生…

硬件工程师面试常见问题(10)

第四十六问:锁存器,触发器,寄存器三者的区别 触发器:能够存储一位二值信号的基本单元电路统称为 "触发器"。(单位) 锁存器:一位触发器只能传送或存储一位数据,而在实际工…

外部访问 Kubernetes 集群中 MQ 服务的方案

外部访问 Kubernetes 集群中 MQ 服务的方案 当您在 Kubernetes 集群中部署了消息队列服务(如 RabbitMQ、Kafka、ActiveMQ 等)后,以下是外部客户端访问这些服务的几种可靠方法: 一、基础访问方案 1. NodePort 方式暴露服务 # M…

论文笔记(八十二)Transformers without Normalization

Transformers without Normalization 文章概括Abstract1 引言2 背景:归一化层3 归一化层做什么?4 动态 Tanh (Dynamic Tanh (DyT))5 实验6 分析6.1 DyT \text{DyT} DyT 的效率6.2 tanh \text{tanh} tanh 和 α α α 的消融实验…

软考中级-软件设计师 操作系统(手写笔记)

第一章:基础知识 第二章:进程管理 状态转换图 进程同步机制 信号量机制 信号量题 死锁 第三章:存储管理 基础知识 分页存储管理 分段存储管理 段页式存储管理 页面置换算法 第四章:文件管理 基础知识 索引分配 空闲存储空间的管…

ubuntu 部署moodle

通过地址https://download.moodle.org/releases/latest/选择下载,下载两种压缩包都特别慢(有可能无法下载)。 可以使用下面git下载项目 注意图中php、mysql等版本要求,本次采用Ubuntu22.04下 nginxphp8.2mysql8.4部署 mkdir /var…

python实战项目67:空气质量在线检测平台js逆向

python实战项目67:空气质量在线检测平台js逆向 一、需求介绍二、完整代码一、需求介绍 项目需求是获取某个城市(以北京市为例)历年(2013年12月至2025年4月)的空气质量数据,字段包括日期、AQI、质量等级、PM2.5、PM10、NO2、CO、SO2等。改网站的网址是“https://www.aqis…

【Linux】记录一个有用PS1

PS1 是用来定义shell提示符的环境变量 下面是一个带有颜色和丰富信息的 Linux PS1 配置示例,包含用户名、主机名、路径、时间、Git 分支和退出状态提示: # 添加到 ~/.bashrc 文件末尾 PS1\[\e[1;32m\]\u\[\e[m\] # 绿色粗体用户名 PS…

Python PyTorch库【机器学习框架】全面深入讲解与实践

一、PyTorch 核心概念 1. 定义与发展背景 PyTorch 是由 Facebook AI Research (FAIR) 开发的开源机器学习框架,2016 年首次发布。其核心特性包括: 动态计算图(Define-by-Run)GPU 加速张量计算自动微分系统丰富的神经网络模块 …

呼叫中心座席管理系统:智能升级,高效服务

在数字化转型加速的今天,客户服务体验已成为企业竞争力的核心要素。传统 呼叫中心系统 依赖硬件设备、人工操作的模式已无法满足高效、智能、灵活的现代企业需求。畅信达呼叫中心 座席管理系统 V5.0应运而生,以WEBRTC软电话接入、智能座席辅助、知识库管…

时态--00--总述

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 时态句子结构时态标志词 时态 句子结构 时态标志词

算法每日一题 | 入门-顺序结构-字母转换

字母转换 题目描述 输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。 输入格式 无 输出格式 无 输入输出样例 #1 输入 #1 q输出 #1 QC 首先我们要知道,C字符的所有转换形式都是依照ASCII码来的。 所以&…

晶振:从消费电子到航天领域的时间精度定义者

从手表到卫星:晶振如何在不同领域定义时间精度 在时间的长河中,人类对时间精度的追求永无止境。从古老的日晷到如今精密的计时仪器,每一次进步都离不开技术的革新。而晶振,作为现代计时的核心元件,在不同领域发挥着至…

短视频矩阵系统贴牌开发实战:批量剪辑文件夹功能设计与实现

摘要:在短视频矩阵系统的开发中,批量处理功能是提升运营效率的关键。本文将深入探讨如何实现基于文件夹的短视频批量剪辑功能,涵盖技术选型、核心功能实现及代码示例。 一、需求背景与场景价值 在短视频矩阵运营场景中,运营者常面…

读书笔记--华为从偶然到必然之创新与技术开发阅读有感

最近继续阅读一本讲述华为研发投资与管理实践方面的书籍,分享给大家。华为在创新与技术研发方面有体系化、系统化和延续性。创新是企业的生命线,是企业发展的不竭动力,同时将企业文化与创新精神进行了融合,华为的企业文化强调以客…

基于DeepSeek与HTML的可视化图表创新研究

一、研究背景 在当今数字化时代,数据呈指数级增长,广泛渗透于社会各个领域。无论是商业运营、科学研究,还是公共管理等方面,海量数据蕴含着丰富的潜在价值,成为驱动决策优化、推动业务发展、促进科学创新的关键要素。数…

K8S - 命名空间实战 - 从资源隔离到多环境管理

引言 在传统的物理机或虚拟机环境中,不同业务应用共享资源,容易导致权限冲突、资源争用和管理混乱。Kubernetes 通过 命名空间(Namespace)实现资源逻辑隔离,将集群划分为多个虚拟子集群,从而解决以下问题&…

Unity3D仿星露谷物语开发40之割草动画

1、目标 当Player选择Scythe后,鼠标悬浮在草上,会显示绿色光标。鼠标左击,会触发割草的动画。 2、优化Settings.cs脚本 添加以下两行代码: // Reaping(收割) public const int maxCollidersToTestPerRe…

【LLM】基于 Ollama 部署 DeepSeek-R1 本地大模型

本文详细介绍如何在 Linux 和 Windows 环境下,通过 Docker Compose 整合 Ollama 和 Open WebUI,部署 DeepSeek-R1 大语言模型,并提供 GPU 加速支持。无论你是开发者还是 AI 爱好者,均可通过本指南快速搭建私有化 GPT 环境。 一、环境准备 1. Docker 与 Docker Compose 安…