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

【Linux】系统文件的权限管理

1.系统权限的详解

1.1查看系统权限

使用ls -l 文件 查看文件权限;ls -l 目录 查看目录里文件权限

使用ls -ld 目录 查看目录权限

1.2系统权限构成

系统权限由r,w,x三类权限构成

w权限在创建目录时要与x权限一起用才能运行

------------------------------------------------------------------------------------------------

系统权限面向三种对象

user:文件拥有者,缩写u

group:文件拥有组,缩写g

other:其他用户,缩写o

------------------------------------------------------------------------------------------------

系统权限组成分析

1.3文件属性

文件的属性被称为元数据,一种元数据用1个byte记录内容

1.4修改文件或目录的所有者和属组归

 chown username  file //更改文件拥有者

chgrp groupname file //更改文件拥有组

chown username:groupname file //同时更改文件的拥有者和拥有组

chown|chgrp -R user|group dir //更改目录本身及目录中内容的拥有者或者拥有组--递归

1.5设定文件或目录权限

chmod //设定文件权限

chmod --reference=file dir/file2

chmod -R --reference=file dir/

--------------------------------------------------------------------------------------------------------------------------

ugoa:表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即
u+g+o)

+或-或=:表示设置权限的操作动作,+代表添加;-代表取消;=表示只赋予给定的权限,并取消原
有的权限。

nnn:用数字表示权限

2.特殊权限

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

2.1SUID(Set UID)

suid仅对二进制文件有效,在执行过程中,调用者会暂时获得该文件的所有者权限.
该权限只在程序执行的过程中有效

chmod u+s  /bin/cat 或 chmod 4770 /bin/cat

2.2SGID(Set GID)

文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A
目录的所属组

chmod g+s  /sc 或 chmod 2770 /sc

把SGID设置在A目录上

把SGID设置在二文件上

2.3Sticky Bit粘制位

它限制了用户对目录中文件的删除 和重命名操作,只有满足特定条件的用户才能执行这些操作。

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

chmod o+t dir 或 chmod 1777 dir //设置粘制位权限

2.4设置特殊权限

为文件或目录添加三种特殊权限同样可以通过chmod命令来实施,使用“u±s”、“g±s”、“o±t”的字符权
限模式分别用于添加和移除SUID、GUID、sticky权限。
若使用数字形式的权限模式,可采用“nnnn”格式的四位八进制数字表示,其中:后面三位是一般权限
的数字表示,前面第一位则是特殊权限的标志数字:
0—表示不设置特殊权限
1—表示只设置sticky
2—表示只设置GUID权限
3—表示只设置SGID和sticky权限
4—表示只设置SUID权限
5—表示只设置SUID和sticky权限
6—表示只设置SUID和SGID
7—表示同时设置SUID、GUID、sticky3种权限
                   

3.ACL权限列表

通过 ACL,可以针对单个用户或组设置独立的读、写、执行权限,从而实现更精细的访问控制。

3.1查看ACL权限

getfacl 文件

3.2设定ACL权限

setfacl -参数 文件名

-m:设定 ACL 权限--也是开启ACL功能
        给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名
        给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名
-x:删除列表中的用户
-b:关闭

3.3ACL的开启标识

3.4ACL列表的默认权限

setfacl -Rm u:admin:rwx 目录  //-Rm参数 递归目录中的文件或目录都开启acl

setfacl -m d:u:admin:rwx 目录  //d 目录中创建新文件或目录都会开启acl,复制default权限到文件或目录中

4.attr权限

attr 权限,即文件属性权限,是 Linux 系统中一种对文件或目录赋予额外属性的机制。它能进一步增强 对文件访问和操作的控制,提供了比传统 r(读)、w(写)、x(执行)权限更细致的管控维度。这些属性可以限制文件的某些操作,如防止文件被删除、修改,或者使其只能追加写入等。

lsattr 目录或文件 //查看attr权限

chattr //设定attr权限

i //不能做任何的更改

a //能添加不能删除

chattr +i/-i 目录或文件 

chattr +a/-a 目录或文件

5.系统默认权限设定

umask //保留权利

系统本身存在的意义共享资源

从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高

既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放把不安全的权力默认保留

#文件默认权限 = 777-umask-111

#目录默认权限 = 777-umask

#umask值越大系统安全性越高

4.1临时设置保留权力

4.2永久设置保留权力

以上两个配置文件都要修改

修改后重新查看umask就变了


http://www.mrgr.cn/news/96813.html

相关文章:

  • Ubuntu修改用户名
  • Spring 面经
  • k8s运维面试总结(持续更新)
  • Python入门(5):异常处理
  • 基础算法篇(3)(蓝桥杯常考点)—图论
  • uniapp APP端在线升级(简版)
  • 量子计算与人工智能融合的未来趋势
  • 机器人--ros2--IMU
  • 图片边缘采样
  • dubbo http流量接入dubbo后端服务
  • Android学习之计算器app(java + 详细注释 + 源码)
  • 在Windows下使用Docker部署Nacos注册中心(基于MySQL容器)
  • 华为交换综合实验——VRRP、MSTP、Eth-trunk、NAT、DHCP等技术应用
  • MySQL数据库学习笔记1.SQL(1)
  • 使用 GitHub Pages 快速部署静态网页
  • Mysql之事务(下)
  • Linux安装Ubuntu24.04系统 并安装配置Nvidia 4090 显卡驱动
  • 论文阅读笔记:Denoising Diffusion Implicit Models (2)
  • STM32_HAL之程序编写、编译、烧写、上板测试初体验
  • 使用SpringBoot + Thymeleaf + iText实现动态PDF导出