linux 系统中的文件和目录权限管理


###一.权限查看及读取 ###

1.权限查看#

ls -l file ##查看文件权限
ls -ld dir ##查看目录权限
在这里插入图片描述

#2.权限的读取#
“文件的属性被叫做文件的元数据(meta date)”

##文件权限信息##

-rw-r–r-- 1 root root 0 Jan 9 11:03 hu 文件的权限信息
drwxr-xr-x 2 root root 6 Jan 9 11:05 westos/ 目录的权限信息

1.文件类型
#- 普通文件
#d 目录文件
#l 软连接(相当于快捷方式)
#b 快设备
#c 字符设备
#s socket套接字
#p 管道 |

  1. ##用户权限

rw- |r-- r–
u g o

3 ##系统的 selinux开启(由于虚拟机没有显示,位置在权限后面 符号为.)

  1. ##对于文件:文件内容被系统记录的次数(硬连接个数)
    ##对于目录:目录中子目录的个数
  2. ##文件拥有者##
  3. ##文件拥有组##
  4. ##对于文件:文件内容的大小
    ##对于目录:目录中子文件的元数据大小
  5. ##文件内容被修改的时间
  6. ##文件名称

二.普通权限的类型及作用###

##1.用户对文件的身份#
u: #user 文件的拥有者,ls -l 看到的第五列信息
g: #group 文件拥有祖, ls -l 看见的第六列信息
o: # other 既不是拥有者也不是拥有组的成员的其他用户的通称

#2.权限位#
rwx|r–|r–
u g o

#3 .用户身份的匹配
user>group>other

#4.权限类型#

  •  #权力未开启
    

r # 可读
#对于文件:可以读取文件内容
#对于目录:可以ls列出目录中的文件

w #可写
#对于文件:可以更改文件的内容
#对于目录:可以在目录中新建或删除文件

x #可执行
#对于文件:可以用文件名称调用文件内记录的程序
#对于目录:可以进入目录

三.设定普通权限的方法

chmod ##设置文件权限
chmod --reference=/tmp /mnt/westosdir ##复制/tmp目录的权限到/mnt/westosdir上

[root@westoslinux mnt]# chmod -R --reference=westosfile1 westosdir
#复制/tmp目录的权限到/mnt/westosdir及
#目录中的子文件 -R 代表第归操作

在这里插入图片描述

#chmod 字符方式设定权限
chmod<u|g|o><+|-|=><r|w|x> file ##用字符方式设定文件权限
在这里插入图片描述

##chmod 数字方式设定权限##
7=rwx
4=r
2=w
1=x
采用叠加的方式
[root@westoslinux Desktop]# chmod 700 /mnt/westosfile1
-rwx------ 1 root root 6 Jan 8 16:04 westosfile1
在这里插入图片描述

chmod 600 /mnt/westosfile1

rw-------

四.系统默认权限设定

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

#如何保留权力#

#umask 表示系统保留权限
umask #查看保留权限
umask 权限值 #临时设定系统预留权限

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

umask值越大系统安全性越高

在这里插入图片描述

#umask表示系统临时更改
umask 077

#永久更改
vim /etc/bashrc ##shell系统配置文件
ls -ld 查看目录本身的权限
ls -lR 查看文件的权限
[root@westoslinux Desktop]# watch -n 1 “ls -ld /sc ;ls -ld /cw;ls -ld /js; ls -ld /pub;”
##实时查看 /sc /ld /js /pud 这些文件的属性
在这里插入图片描述
vim /etc/profile ##系统环境配置文件
在这里插入图片描述
source /etc/bashrc ##source作用时使我们更改的内容立即被系统识别
source /etc/profile

五.文件用户用户组管理

chown username file ##更改文件拥有组
chgrp groupname file ##更改文件拥有组
chown username :groupname file ##同时更改文件的拥有着和拥有组
chown | chgrp -R user | group dir ##更改目录本身及目录中内容的拥有着或者拥有组
在这里插入图片描述

六.特殊权限

#stickyid 粘制位
#针对目录:#如果一个目录stickyid 开启,那么这个目录中的文件
#只能被文件所有人删除
chmod 1原始权限 dir
chmod o+t dir
以上两条命令都可以开启pub目录的t权限
实验:
问题:
在这里插入图片描述
目录中的目录拥有者和其他用户都可以删除目录中文件
解决办法:

在这里插入图片描述
注:切换用户时不要多用户之间进行嵌套使用

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

设定
chmod 2 原文件权限 dir
chmod g+s dir

在这里插入图片描述
#suid 冒险位
#只针对二进制的可执行文件(c程序)
#当运行二进制可执行文件时 都是用文件拥有着的身份运行,和执行用户无关
chmod 4 原文件权限
chmod u+s file

在这里插入图片描述

七.acl权限列表

Aiccess Control Lists #访问控制列表

#功能:
在列表中可以设定特殊用户对与特殊文件有特殊权限

#acl 列表开启标识

在这里插入图片描述
#acl列表权限读取
getfacl westosfile
显示内容分析

#file :westosfile # 文件名称
#owner:root #文件拥有者
#group:root #文件拥有者
user::rw- #文件拥有者的权限
user :lee :rw- #特殊指定用户权限
group::r-- #文件拥有组权限
group:westos:— # 特殊指定的用户组的权限
mask::rw- #能够赋予特殊用户和特殊用户组的最大权限阀值
other:: r-- #其他人的权限
在这里插入图片描述

注意:
“当文件列权限列表开启时,不要用ls -l 的方式来读取文件的权限”

在这里插入图片描述
注:上图我们看到ls -ld查看的权限中拥有组的权限为 rws 实际权限为 r-x,所以在权限列表开启时不要使用ls命令

#acl列表的控制
setfacl -m u:lee:rw westosfile #设定
setfacl -m g:westos:rw westosfile
setfacl -m u::rwx westosfile
setfacl -m g::0 westosfile
setfacl -x u:lee westosfile ##删除列表中的lee
setfacl -b westosfile #关闭

在这里插入图片描述

#acl 权限优先级
拥有者>特殊指定用户>权限多的组>权限少的组>其他

#acl mask控制
#mask时能够赋予指定用户权限的最大阀值

问题
当设定完毕文件的acl列表之后用chmod缩小文件拥有者的权力
mask会发生变化
注:权限列表开启时,ls -ld 看见的权限为mask(若给定的权限超过了mask则权限不生效)
#此时若使用chmod命令则会更改mask的值

#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目录中的新建文件生效
注:区别在 ”d:“

八.attr 权限

#atter权限限制所有用户
i #不能做任何的操作
a #能添加不能删除
lsattr dir | file ##查看文件的atter权限
chattr +i | +a | -i | -a dir | file ##设定atter权限
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Antonhu/article/details/112990676
今日推荐