当前位置: 首页 > 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

相关文章:

  • 关于我的算法文章学习路线
  • Go与Cpp的本质区别
  • 量子机器学习中的GPU加速实践:基于CUDA Quantum的混合编程模型探索
  • Java对集合进行操作,赋值新字段
  • k8s术语之Replication Controller
  • MySQL中ROW_NUMBER() OVER的用法以及使用场景
  • CentOS网络之network和NetworkManager深度解析
  • windows系统常用快捷键(CMD常用命令,DOS常用命令)
  • PostgreSQL数据库操作基本命令
  • windows 下 oracle 数据库的备份与还原
  • 多线程系列一:认识线程
  • 【计算机网络】​TCP(传输控制协议)套接字,多线程远程执行命令编程​
  • 2025年真实面试问题汇总(一)
  • 【Python学习路线】零基础到项目实战
  • RFID光触发标签工业级分拣难题的深度解决方案
  • Vue3笔记摘录
  • 读论文笔记-CoOp:对CLIP的handcrafted改进
  • 兰亭妙微:全流程交互设计和设计前后对比
  • 如何加速机器学习模型训练:深入探讨与实用技巧
  • Vue2 vs Vue2.7 深度对比
  • 视频丨英伟达总裁黄仁勋:美勿幻想AI领域速胜中国
  • 4月人民币对美元即期汇率微跌,今年以来升值0.48%
  • 国台办:相关优化离境退税政策适用于来大陆的台湾同胞
  • “75后”袁达已任国家发改委秘书长
  • 李在明涉嫌违反《公职选举法》案将于5月1日宣判
  • 在循环往复的拍摄中,重新发现世界