当前位置: 首页 > news >正文

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.xdnf.cn/news/224983.html

相关文章:

  • Linux——HTTP协议理解
  • 7.计算机网络相关术语
  • Axure疑难杂症:中继器制作下拉菜单(多级中继器高级交互)
  • 使用PyTorch进行热狗图像分类模型微调
  • 第四部分:实用应用开发
  • libevent详解
  • 深⼊理解指针(7)
  • Python网络爬虫核心技术拆解:架构设计与工程化实战深度解析
  • 【数据通信完全指南】从物理层到协议栈的深度解析
  • 鸿蒙移动应用开发--ArkTS语法进阶实验
  • 【MongoDB篇】MongoDB的索引操作!
  • Spring Boot 中集成 Kafka 并实现延迟消息队列
  • 腾讯云服务器性能提升全栈指南(2025版)
  • C# 类成员的访问:内部与外部
  • 练习001
  • Java进阶--设计模式
  • 汽车OTA在线升级法规分析
  • 搭建基于 ChatGPT 的问答系统
  • Linux Quota 显示空间占用远大于实际数据的问题排查记录
  • Java写数据结构:队列
  • 基于大模型的膀胱肿瘤全周期诊疗方案研究报告
  • 【KWDB 创作者计划】_KWDB能帮我的项目解决什么问题
  • Golang - 实现文件管理服务器
  • scGPT方法解读
  • 突发-2小时前DeepSeek发布了新模型-不是R2
  • 中小企业如何借助智能海关系统降低跨境运输成本?
  • day006-实战练习题-参考答案
  • 基于 IAR Embedded Workbench 的自研 MCU 芯片软件函数与变量内存布局优化精控方法
  • LeetCode 2905 找出满足差值条件的下标II 题解
  • AI驱动的决策智能系统(AIDP)和自然语言交互式分析