Linux之文件权限管理

文件权限是做什么的?

  1. 它是系统最底层安全设定方法之一
  2. 它保证文件可以被可用的用户做相应的操作

管理文件权限

查看文件权限

ls   -l   filename        #查看文件的属性
ls  -ld   dirame          #查看目录的属性
ll         filename
ll  -d     filename
*ls -l  = ll

图示:
在这里插入图片描述
在这里插入图片描述

读取文件权限

图示:

在这里插入图片描述

第几位含义备注
1文件的类型- :文本文件或者空文件 d:目录 s: 套接字(socket)(接口,门 )l:软链接 (快捷方式)b:block块设备 c:字符设备:显示字符的设备
2文件的权限三个字符为一类,分别代表u 文件拥有者,g 文件所有组,o其他人对于文件进行的r ,w ,x,-操作。r用数字4代表,w用2代表,x用1代表
3硬链接或者子目录的个数对文件,文件中包含的硬链接个数。对目录,文件包含的子目录的个数
4文件的所有人
5文件的所有组
6文件大小或者元数据对文件,代表文件的大小 对目录,代表目录中子文件元数据大小
7文件最后一次被修改的时间
8文件的名字

注意:

  • 文件的硬链接代表文件的内容被系统记录了,也就是一个文件占用了多个数据区域
  • 硬链接不会改变文件的字节码,软链接会改变
    图示:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    2.软链接会改变文件的字节码
    在这里插入图片描述在这里插入图片描述

对于软链接来说,删除源文件,则源文件的软链接也就不复存在,删除源文件的软链接,则源文件还在,相当于删除可执行文件的快捷方式,但是文件本身还在,只是快捷方式不见了。
在这里插入图片描述

  • matadata 元数据 ,代表文件的属性大小

  • 文件的元数据大小:7byte(1个类型1个字节)+文件名字符的个数byte

  • 目录是个容器,装的是文件的属性

  • 目录文件 文件属性中,第3位 ,目录中子目录的个数包括隐藏目录,若建立新的文件,则第三位大小不变

  • 目录文件中,第六位代表目录中文件的所有属性大小之和 目录为空时,大小为6 默认有. 和… 目录

改变文件的所有人和所有组

chown          username      filename|dirname    # 改变文件或目录的所有者
chown          username.groupname (.等价于:)   filename|groupname  #改变文件或目录的所有者及所有组
chown  -R      username.groupname    dirname      #递归更改目录,修改目录本身,及其子目录

图示:
1.
在这里插入图片描述2.
在这里插入图片描述

chown 不能对文件或目录的所有组单独修改 chgrp 对文件或目录所有组做单独的修改

chgrp    group    filename/dirname             #单独改变文件或者目录的所有组
chgrp   -R   group     dirname   

图示:
在这里插入图片描述

修改文件的权限

对文件权限的理解

对文件对目录
r查看文件的内容查看目录中的子文件或者子目录(ls dir)
w改变文件里面的字符改变目录中子目录或者子文件的元数据
x通过文件名来调用文件内记录的程序是否可以进入目录

注意:
修改文件内容时,不能删除和重命名文件 因为这两项操作,操作的是目录,要看目录的权利。

对文件权限的更改

字符方式修改

chmod  <u|g|o|><+|-|=><r|w|x|>   filename  | dirname  
chmod u+x   /etc/txt1
chmod  g-r   /etc/txt2
chmod  ug-r   /etc/txt3
chmod  u-r,g+x  /etc/txt4
chmod    -r    /etc/txt5
chmod  o=r-x   /etc/txt6

图示:
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述

八进制数字方式修改

chomd  数字  filename

八进制下,r=4 ,w=2,x=1 其余情况按权限相加即可

eg:
rwx=4+2+1=7

r-x=4+0+1=5

“- - -” = 0

图示:
chmod 753 filename
在这里插入图片描述

复制的方式修改文件权限

chmod --reference=源文件  目标文件

图示:

在这里插入图片描述
在这里插入图片描述

例题解释

在这里插入图片描述解答:
在这里插入图片描述

系统预留权限(umask)

umask为什么存在?

  • 系统的安全和功能 两者是矛盾的,因此要寻找平衡点
  • 系统预留权限用umask查看,它会被回收, 它的值越高 系统越安全 (root用户为0022)

查看与更改umask

临时更改

umask       #查看建立文件时系统默认保留的权力
umask  077      #临时设定 在命令行直接键入命令 umask 对应权限数字

临时设定的值,当再次开启shell时预留权限会恢复为默认的值

图示:
在这里插入图片描述

永久更改

vim /etc/profile          更改系统环境文件的内容
vim /etc/bashrc        更改shell配置文件的内容
  • 上述两个文件需要同时更改,profile在60行时更改普通用户的umask,62行更改超级用户的umask,bashrc 在71和73行

  • 更改后umask的值并不会立即生效 需执行下述命令,让更改立即生效

     source /etc/profile
    
      source /etc/bashrc 
    

图示:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
例题解释:
当预留阀值设置为077后
默认新建目录的权限为700(777-077)
默认建立的文件的权限为600(777-077-111=700-111)

在这里插入图片描述

特殊权限

特殊权限为什么存在?

限制什么身份的人做什么样的事情

sticky (粘制位)

1.作用

对目录:
(目前只讨论对目录的作用)在一个目录上设置了sticky权限时,这个目录中的文件只能被文件的所有者和超户删除。

对文件:
表示文件即使没有被程序调用也会被加载到交换空间中

2.设定方式

chmod o+t dirname
chmod 1### dirname

3.图示:
在这里插入图片描述在这里插入图片描述

sgid (强制位)

1.作用

对目录:
当目录上有sgid权限时,任何人在此目录中建立的所有组都属于该目录的所有组,因执行目录而产生的进程的所有组为该文件的组。与是谁执行无关。

对文件:只针对二进制可执行文件
当文件上有sgid权限时,任何人执行此文件产成的进程都属于文件的的组,与是谁执行无关

2.设定方式
chmod g+s filename|dirname
chmod 2### filename|dirname

3.图示
在这里插入图片描述在这里插入图片描述在这里插入图片描述当使用chmod 2755/bin/watch 之后
在这里插入图片描述

suid(冒险位)

1.作用
下降身份或提升身份 普通用户执行时,身份自动提升为root
进程结束后 自动恢复身份

只针对二进制可执行文件 当文件有suid权限时任何人执行这个文件中的程序产生的进程都属于文件的所有人

2.设定方式

chmod    u+s     file
chomod   4###    file

3.图示:

原始:
在这里插入图片描述
使用chmod 4755 /bin/watch之后

在这里插入图片描述在这里插入图片描述

ACL权限列表

ACL是什么?

1.定义

ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。它被设计为UNIX文件权限管理的一个补充。ACL允许你给任何的用户或用户组设置任何文件/目录的访问权限。

2.作用
让特定用户对特定的文件拥有特定权限

查看ACL列表

-rw-rwx—+ 1 root root 0 Oct 4 16:34 file
^
acl权限列表开启(有加号则表示权限列表开启,这个文件的普通权限也能在权限列表中识别)

此时,使用ls -l 查看文件权限不准确,需使用

getfacl filename        #查看开启的文件的权限

图示:
在这里插入图片描述

其中:

名称含义
file :文件名称
owner:文件拥有者
group:文件所有组
flages:特殊权限标志
user::文件拥有人的权限
group::文件所有组的权限
user:westos指定用户的权限
mask::能赋予用户的最大权力值(生效的权力值)
other::其他人的权限

mask值

mask表示在权限列表中mask表示能生效的权力值

当打开facl权限列表之后 再用chmod对g进行减少权限操作mask会发生变化

chomd g-w  redhat

恢复mask值

setfacl -m m:rw redhat

mask恢复时即使原来的mask有r 要恢复时也要再加r (rwx)才能都有

图示:
1.
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

管理acl列表

getfacl       file    #查看
setfacl  -m  u:username:rwx file       #使username对file拥有rwx权限
setfacl  -m  g:group:rwx file             #使group组成员对file拥有rwx权限
setfacl   -x   u:username   file           #从acl列表里删除username   
setfacl   -b     file                                  #关闭file上的acl列表

图示:
1.在这里插入图片描述在这里插入图片描述2.
在这里插入图片描述3.在这里插入图片描述4.
在这里插入图片描述

acl的默认权限

acl默认权限只针对目录设定

1.acl权限设置后只针对权限只对新建的文件或者目录生效

setfacl   -m d:u:student:rwx /mnt/westos  #其中,d(default)
setfacl  -k  /mnt/westos         #关闭default继承

2.对已经存在递归继承facl

setfacl -R -m  u:student:rwx /mnt/westos

图示:
1.在这里插入图片描述2.在这里插入图片描述3.原来的fil1文件
在这里插入图片描述4.
在这里插入图片描述

权限设定过程中的优先级

userperm > acluser> aclgroup>groupperm>otherperm

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值