Linux系统权限管理

一、权限的概念

Linux 系统的架构里,权限是构建安全堡垒的基石,精准界定了不同用户对文件与目录的操作边界,对系统安全的维护以及数据完整性的保障起着决定性作用。Linux 将权限归纳为读(r)、写(w)和执行(x)这三种基础类别,它们各司其职,共同守护系统资源。

1.读权限(r

对于文件,拥有读权限的用户宛如拥有了一把打开知识宝库的钥匙,能够毫无阻碍地查看文件的具体内容,无论是文本文件中的文字信息,还是配置文件里的参数设置,都能一览无余。切换到目录场景下,读权限就如同赋予了用户进入一间仓库并查看库存清单的权力,用户凭借它可以运用ls
令,清晰罗列目录中的所有文件与子目录,对目录结构与内容分布做到心中有数。

2.写权限(w

当用户对文件持有写权限时,便如同手握一支神奇的笔,能够自由修改文件内容,无论是增添新的文字段落,还是修正既有数据,都能随心操作。值得注意的是,若要删除文件,除了对文件本身有写权限,还需对文件所在目录具备写权限。把目光转向目录,写权限如同给予用户在一片空地上 建造房屋的许可,用户可在目录中创建全新的文件与子目录,还能删除目录里已有的文件与子目录,自由规划目录内的资源布局。

3.执行权限(x

若文件属于可执行文件,比如常见的脚本文件或二进制程序,执行权限就像点燃引擎的钥匙,用户得以运行该文件,让程序中的指令依序执行,实现各种功能。在目录方面,执行权限则如同打开一扇门的钥匙,允许用户运用cd命令顺利进入该目录,深入探索目录内部的资源。

二、权限的查看及读取

1.权限的查看

ls    -l     文件        ##查看文件权限

ls   -ld   目录        ##查看目录权限

2.文件权限的种类

文件的属性被叫做文件的元数据(meta data),一种元数据用一个byte来记录内容

#文件权限信息#

#目录权限信息#

1)文件类型

# -  普通文件

# d 目录

# l  软连接

# b 快链接

# c  字符设备

# s socket  套接字

# p  管道  |

2)文件权限说明

##用户权限

##rw - | r-- | r--

#     u     g     o

3)文件安全上下文标记

##系统的selinux开启,那么在此位会出现 “ . ”

4)文件副本标记或目录中子目录标记

##对于文件:文件内容被系统记录的次数(硬链接个数)

##对于目录:目录中子目录的个数

5-6)文件的归属

##文件拥有者

##文件拥有组

7)文件容量统计

##对于文件:文件内容大小

##对于目录:目录中子文件的元数据大小

8)文件时间戳

##文件内容被修改的时间

9)文件名称

文件名称中一个英文字母占用一个字节,一个中文字符占用三个字节

 3.用户对于文件的身份识别及设定

1)用户对文件的身份

u:    #user   文件的拥有者,ls -l  看到的第五列信息

g:    #group  文件拥有组,  ls -l   看到的第六列信息

o:    #other    既不是拥有者也不是拥有组成员的其他用户的通称

2)权限位

rwx | r-- | r--

  u      g     o

3)文件用户用户组管理

chown、chgrp

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

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

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

chown | chgrp 

                          -R user | group dir         ##更改目录本身及目录中内容的拥有者或者拥有组

4.设定普通权限的方法

chmod            ##设定文件权限

#chmod  复制权限#

chmod --reference=/tmp /mnt/lee                  #复制/tmp目录的权限到/mnt/lee上

chmod -R --reference=/tmp /mnt/westodir    #复制/tmp目录的权限到/mnt/westosdir及目录中的子                                                                          文件上  -R  代表第归操作

#chmod 字符方式设定权限

chmod < a | u | g | o >< + | - | = >< r | w | x > file              #用字符方式设定文件权限

#chmod  数字方式设定权限

权限波尔值表示方式

rwx = 111

--- = 000

三位二进制可以表示的最大范围为8进制数

vim mod

5.系统默认权限设定

  • 系统本身存在的意义共享资源
  • 从安全及角度讲系统共享的资源越少,开放的权力越小系统安全性越高
  • 既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放把不安全的权力默认保留

1)如何保留权力

#umask表示系统保留权力

umask                     #查看保留权力

umask 权限值        #临时设定系统预留权力

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

                              #目录默认权限 = 777-umask

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

#umask临时更改

umask 077

#永久更改

vim /etc/bashrc  ##shell系统配置文件

vim /etc/profile  ##系统环境配置文件

##source作用时使我们更改的内容立即被系统识别

source /etc/bashrc  

source /etc/profile

6.系统中的特殊权限

Linux 系统中,常规的文件权限包括读(r)、写(w)和执行(x),分别对应数字 42 1。通过 这些权限的组合,我们可以灵活地控制用户对文件和目录的访问。然而,在某些特定场下,常规权限无法满足需求,这时就需要借助特殊权限来实现更精细的访问控制。

1)SUID(Set UID)

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

#suid

chmod 4原属性    file
chmod u+s file

2)SGID(Set GID)

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

#sgid 强制位

#针对目录:目录中新建的文件自动归属到目录的所属组中

设定:

chmod 2源文件权限 dir

chmod g+s dir

3)Sticky Bit

Sticky Bit 权限通过在目录权限上设置一个特殊标志来实现上述功能。它限制了用户对目录中文件的删除和重命名操作,只有满足特定条件的用户才能执行这些操作
#stickyid 粘制位
#针对目录:#如果一个目录stickyid开启,那么这个目录的文件只能被文件所有人删除
chmod 1原始权限 dir
chmod o+t dir 
实验:

三.ACL权限列表

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

2.ACL权限列表的读取

2.1ACL权限开启标识

#acl列表开启标识

2.2ACL列表权限读取

getfacl  leefile

显示内容分析

#file:leefile                        #文件名称

#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:wetos:rw leefile

setfacl -m u::rwx leefile

setfacl -m g::0 leefile                                  ##删除列表中的lee

setfacl -b leefile                                           #关闭


练习

项目四

1.groupadd -g 2000 shengchan
建立用户组 shengcan,其id 为 2000
2.groupadd -g 2001 caiwu
建立用户组 caiwu,其id 为 2001
3.group -g 2002 jishu
建立用户组 iishu,其id为 2002
4.useradd -g shengchan -G jishu,caiwu -u 2000 lee
建立用户 lee,指定其主组id为shengchan,附加组为jishu和 caiwu,-g设立主组id,-G设立附加组id,-u设立用户id
id lee
查询lee的id,确保 lee 用户的uid 和 gid 保持一致
5.useradd -s /svin/nologin -M   linux
建立linux用户且建立时不建立家目录指定用shell,为系统用户
6.useradd -G caiwu admin
建立用户admin,-G指定其附加组为caiwu
验证
id lee
id linux
id admin
su - linux

项目五

1.mkdir   /cw /sc /js /pub
使用mkdir建立目录
2.chgrp caiwu /cw
使用chgrp更改/cw目录拥有者为caiwu
3.chgrp shengchan /sc
使用chgrp更改/sc目录拥有者为shengchan
4.chagrp jishu /js
使用chgrp更改/js目录拥有者为jishu
5.chmod 770 /cw /js /sc
使用chmod数字方式设定各组目录目录权限为相应组成员可操作,其他人无权限
6.chmod 777 /pub
使用chmod数字方式设定/pub目录权限为所有人可自由管理
验证
su - admin
ls /cw/
ls /js/(被拒绝)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值