Linux中的文件权限管理

问题

1.权限存在的意义

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

权限的查看

指令 作用
ls -l file 查看文件的元数据
ls -ld dir 查看目录的元数据

文件的权限信息

  • 一共8段信息
    如:
- rw-rw-r--. 1 kiosk kiosk 0 Aug 15 17:29 file
- rw-rw-r–. 1 kiosk kiosk 0 Aug 15 17:29 file
文件类型 权限信息 硬链接个数 拥有者 文件大小 最后一次修改的时间 文件名

文件类型:

分类 文件类型
- 普通文件
d 目录
l 软链接:快捷方式
s socket
c 字符设备:将文件中的内容显示到屏幕上的虚拟的设备

文件硬链接个数:

  • 文件内容被系统记录的次数

目录的权限信息

如:

d rwxr-xr-x. 144 root root 12288 Aug 15 18:47 etc
d rwxr-xr-x. 144 root root 12288 Aug 15 18:47 etc
类型 权限 目录中子目录的个数 用户 子文件或子目录的元数据大小 最后一次被更改的时间 目录名称

所有者和组的修改

  • 需要root用户执行
命令 参数 作用对象 作用
chown username file|dir 修改文件或目录的所有者
-R username dir 修改目录以及目录内所有文件及目录的所有者
username:group file|dir 同时修改组和所有者
chgrp groupname file|dir 修改文件或目录的组
-R groupname dir 修改目录内所有文件及目录的组

chown test:test01 file:
这里写图片描述

chgrp root file:
这里写图片描述


权限的作用

如:

rw-rw-r--.

权限信息分为3段:

分类 用户 其他
权限 rw- rw- r–
缩写 u g o
含义 user group other

读取:

权限 对象 作用
r 对文件 是否可以查看文件中的字符
对目录 是否可以查看目录中有什么文件

写入:

权限 对象 作用
w 对文件 是否可以修改文件中记录的字符
对目录 是否可以在目录中管理文件,是否可以更改目录中文件的元数据

执行:

权限 对象 作用
x 对文件 是否可以通过文件名调用文件内记录的程序
对目录 是否可以进入此目录

权限管理

1.字符形式

命令 参数 对象 作用
chmod <u|g|o> <+|-|=> <r|w|x> file|dir 修改文件或目录的权限
chmod u+rw,g+wx \mnt\file 给file文件的所有者添加r和w权限,给组添加w和x权限
chmod +u file|dir 不写操作对象默认是操作ugo全部,但是不包括w权限

chmod u+x,g+x file:
这里写图片描述
- 字符形式操作比较繁琐,不推荐使用


2. 数字方式

数字方式中使用0到7的数字代表不同的权限,计算方式如下:

权限 r w x
对应位数 2 1 0
计算方式 x=2^0*1=1 w=2^1*1=2 r=2^2*1=4

按上面的值来计算出每种权限对应的数字

权限 数字
r w x 7
r w - 6
r - x 5
r - - 4
- w x 3
- w - 2
- - x 1

通过数字的方式修改权限:

指令 作用
chmod 437 /mnt/file 修改file文件权限为r-- -wx rwx

这里写图片描述

  • 对于权限只有读取的文件修改之后保存会提示文件只读,需要强制保存。而对于不能强制保存的普通用户来说就只能读取,不能保存。
    这里写图片描述

  • 对于没有权限的目录dir2来说普通用户访问目录的时候会被拒绝,无法进入也无法查看目录中的内容
    这里写图片描述

  • 对于权限只有读取的目录dir2普通用户只能查看到目录中文件的名字,看不到文件的元数据也无法进入目录。
    这里写图片描述


权限列表

  • 权限列表的作用是可以设置特定的用户对特定的文件有指定的访问权限

  • rwxr-xr-x+权限位最后一位是+的说明该文件的权限列表被开启
    这里写图片描述

查看权限列表

命令 作用
getfacl file 查看文件的权限列表

这里写图片描述

[root@foundation7 Desktop]# getfacl file
# file: file            //文件名
# owner: root           //文件所有人
# group: root           //文件所有组
user::rw-               //用户权限
user:leo:rwx            //特殊指定用户权限
group::r--              //组权限
mask::rwx               //权限最大值
other::r--              //其他人权限

权限列表的操作

指令 参数 作用对象 作用
setfacl -m u:username:rwx file 设置列表用户权限
setfacl -b file 关闭权限列表
setfacl -x u:username file 删除权限列表指定用户

setfacl -m u:leo:rwx file:
执行前的file文件的文件列表:
这里写图片描述
执行setfacl -m u:leo:rwx file对leo用户设置rwx权限:
这里写图片描述


setfacl -b file:

  • 关闭文件权限列表关闭之后权限位最后一位的+变为.
    这里写图片描述

setfacl -x u:leo file

  • 删除权限列表中的leo用户
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/liuchonghua/article/details/81739020