linux系统--权限篇

一、权限的概念

1. Linux权限的本质

Linux作为多用户操作系统,通过权限机制实现资源的安全隔离。每个文件/目录都有独立的权限标签,如同数字世界的"门禁系统":

  • 读(r):查看文件内容 / 列出目录内容

  • 写(w):修改文件 / 创建/删除目录内文件

  • 执行(x):运行程序 / 进入目录

1.2 权限的三元组

权限系统由三个维度构成:

  • 用户(Owner):前三位,文件创建者

  • 组(Group):中间三位,所属用户组

  • 其他(Others):最后三位,其他所有用户

二、权限的查看及管理

使用ls -l查看文件详细权限:

[类型][用户权限][组权限][其他权限] 硬链接数 所有者 所属组 大小 修改时间 名称

使用ls -Id查看目录详细权限:

三.文件权限的种类

1.文件类型

在Linux中,文件有如下几种类型:

  1. d:文件夹
  2. -:普通文件
  3. l:软链接(类似Windows的快捷方式)
  4. b:块设备文件(例如硬盘、光驱等)
  5. p:管道文件
  6. c:字符设备文件(例如屏幕等串口设备)
  7. s:套接口文件

2.文件权限说明
 对于一个文件或目录,在Linux中有三种角色:

文件的所有者:u(user)
文件所有者的所属组:g(group)
其他用户:o(others)


所以文件中前三位为文件所有者的权限,中间三位为文件的所属组的权限,最后三位为其他用户的权限

  如上图的  rw- | r-- | r--

                  u       g     o

3.文件副本标记或目录中子目录标记
对于文件:文件内容被系统记录的次数(硬链接个数)对于目录:目录中子目录的个数

4.文件归属
如上图的前面为文件的所有者,后面的为文件的所属组

5.文件容量统计
对于文件:文件内容大小    对于目录:目录中子文件的元数据大小

6.文件时间戳
文件内容最后一次被修改的时间

四.文件权限的设定

1.文件所有者和所属组的管理 

chown gejianfeng 123              ##更改文件所有者
chgrp  gejianfeng 123             ##更改文件所属组

chown gejianfeng:gejianfeng 123      ##同时更改文件所有者和所属组

chown/chgrp  -R  gejianfeng/gejianfeng  321       ##更改目录本身及目录内容的所有者和所属组

2.设置普通权限

(1)chmod 复制权限

chmod --reference=tmp 123      ##复制/tmp目录的权限到文件123

chmod -R --reference=/tmp 321/111         ##复制tmp目录的权到321及目录的子文件111      
 -R表示递归操作

(2)chmod 字符方式设定权限 
chmod <a|u|g|o><+|-|=><r|w|x> 123

如
chmod u=rwx,g=rx,o=--- 123

chmod u-w,g-x,o+r 123

(3)chmod 数字方式设定权限

Linux权限系统就像一把三位密码锁,每个数字控制不同群体的访问权限。每个数字由 r(4) + w(2) + x(1) 组合而成,如此,一个文件对于角色权限就有2^3=8种不同的二进制数来表示:

3.系统默认权限设定

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

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

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

   保留权限

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

目录默认权限 = 777-umask

umask值越大系统安全性越高


umask                                          ##查看保留权限
umask  权限值                                  ##临时修改系统保留权限

永久更改

vim /etc/bashrc                             ---shell系统文件
 
vim /etc/profile                             ---系统环境配置文件

在文件/etc/bashrc的末尾加上"umask  保留的权限值“

在文件/etc/profile的末尾加上"umask  保留的权限值“

系统中的特殊权限

在 Linux系统中,常规的文件权限包括读(r)、写(w)和执行(x),分别对应字 4、2 和 1。通过

这些权限的组合,我们可以灵活地控制用户对文件和目录的访问。然而,在某些特场景下,常规权限

无法满足需求,这时就需要借助特殊权限来实现更精细的访问控制。

        Sticky  Bit

在上面的设置中存在这一个问题,那就是只要用户有某目录的写权限,即使它没有个目录中文件的写权限,那他也可以直接删除该目录中的文件。

所以我们通过Sticky Bit 权限通过在目录权限上设置一个特殊标志来实现上述功能。它限制了用对目录中文件的删除和重命名操作,只有满足特定条件的用户才能执行这些操作(如果一个目录sckyid开启,那么这个目录中的文件只能被文件所有人删除

chmod 1原始权限 文件名
chmod o+t 文件名

SUID(Set UID)

当一个设置了 SUID 权限的程序被执行时,内核会将进程的有效用ID(EffectiveUser ID)临时设置为文件所有者的用户 ID,而实际用户 ID(Real User ID)保持不变样,在程序执行期间,该进程就具有了文件所有者的权限。

chmod 4原始权限 文件名
chmod u+s file
SGID(Set GID)

对于可执行文件,当设置了 SGID 权限的程序被执行时,进程的有效组 ID(EffectiveGroup ID)会临时被设置为文件所属组的组 ID。对于目录,设置了SGID 权限后,在该目录下创建的新文件和子目录将自动继承该目录的组,而不是创建者的默认组。(目录中新建的文件自动归属到目录的所属组中)

chmod 2原始权限 文件名
chmod  g+s 文件名

五.ACL权限列表

1.简介

ACL(Access Control Lists,访问控制列表)是一种灵活的权限管理机制,用于在Linux 系统中对文件 和目录设置更细致的权限。传统的 Linux 文件权限模型基于所有者(owner)、所属组(group)和其他用户(others)进行权限分配,分别对应读(r)、写(w)、执行(x)权限。然而,这种模型在一些复杂的场景下显得不够灵活。例如,当需要给特定用户或组超出传统权限模型的权限时,ACL 就派上了用场。通过 ACL,可以针对单个用户或组设置独立的读、写、执行权限,从而实现更精细访问控制。

2.ACL权限列表的读取
(1)CL权限开启表识

文件权限后有"+"则表示开启

(2)ACL列表权限读取
getfacl  文件名

# owner: root #文件拥有者
 
# group: root #文件拥有组
 
user::rw- #文件拥有者权限
 
user:lee:rw- #特殊指定用户权限
 
group::r-- #文件拥有组权限
 
group:lee:--- #特殊指定的用户组的权限
 
mask::rw- #能够赋予特殊用户和特殊用户组的最大权限阀值
 
other::r-- #其他人的权限
(3)ACL 列表的控制
setfacl -m u:lee:rw leefile #设定
 
setfacl -m g:westos:rw leefile
 
setfacl -m u::rwx leefile
 
setfacl -m g::0 leefile
 
setfacl -x u:lee leefile ##删除列表中的lee
 
setfacl -b leefile #关闭

4.ACL权限优先级

拥有者 > 特殊指定用户 > 权限多的组 >权限少的组 > 其他

5.mask阀值

mask是能够赋予指定用户权限的最大阀值

当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权力 mask会发生变化

恢复:
setfacl -m m:权限 文件名
6.ACL列表的默认权限

设置默认 ACL。仅对目录有效,当在该目录下创建新文件或子目录时,新创建的对将继承该目录的默认 ACL 规则。

setfacl -m u:lee:rwx /mnt/westosdir        ##只对于/mnt/westosdir目录本身生效
 
setfacl -Rm u:lee:rwx /mnt/westosdir       ##对于/mnt/westosdir目录和目录中已存在的内容生效

以上的命令之针对与存在的文件生效,新建文件是不会被设定

setfacl -m d:u:lee:rwx /mnt/westosdir/      ##针对与/mnt/westosdir目录中新建文件生效

六.attr权限

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

attr权限限制所有用户
 
i #不能作任何的更改
 
a #能添加不能删除
 
 
lsattr dir|file               ##查看attr权限
 
chattr +i|+a|-i|-a dir|file   ##设定attr权限
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值