linux之文件及目录权限的相关操作

1.文件权限控制

首先我们先搞清一个问题:权限存在的意义?
 在我们的印象中文件是用来存放实际数据的,目录是用来存放文件的,但其实目录的主要作用是用来记录文件名列表,文件名与目录有强烈的关联。权限就是用户或者其他人对这些目录以及文件能进行些什么操作。

文件的查看

当我们创建一个文档或者文件,然后先去识别一下它们的权限:

对文件的识别:ls -l file
对目录的识别:ls -ld dir

这里写图片描述
由上图可以查看新创建的文件和目录的权限,权限就相当于r、w、x,接下来我们再看看权限分别对文件的重要性和对目录的重要性。

1.对文件的查看权限

首先举例一个权限:

-  rw-rw-r--  1  kiosk  kiosk  0  Aug 15 17:29  file

我们可以将它分为8段:
1)第一段:”-“

分类 文件类型
- 代表的是普通文件
d 代表的是目录
l 软链接:就是快捷方式
s socket
c 字符设备:就是将字符显示到屏幕上的设备

2)第二段:”rw-rw-r- -“

字符 作用
r(Read:读取) 读取文件内容的权限
w(Write:写入) 修改文件内容的权限
X(eXecute:执行) 执行文件的权限
u(user) 用户
g(group)
o(other) 其他

3)第三段:”1”

“1”:文件硬链接个数:就是文件那内容被系统记录的次数

4)第四段:“kiosk”
“kiosk”:文件拥有者
5)第五段:“kiosk”
“kiosk”:文件拥有组
6)第六段:“0”
“0”:代表的是文件大小
7)第七段:“Aug 15 17:29”
“Aug 15 17:29”:最后一次修改的时间
8)第八段:“file”
“file”:文件名称

2.对目录查看的权限

例如:

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 目录名称

当查看目录权限的时候

字符 作用
r 表示读取目录结构列表的权限,就是当你查看一个目录的权限的时候,你可以去查看该目录下的文件名数据
w 表示具有移动该目录结构列表的权限,就是可以创建新的文件目录或删除对该目录下的文件名可以操作
x 记录文件名
3.修改文件的用户和用户组

提示:该操作需要用root用户去执行

指令 作用
chown username file/dir 修改文件或目录的所有者
chown -R username dir(这里-R的意思是递归修改) 修改目录以及目录内所有文件及目录的所有者
chown username:group file\dir 同时修改组和所有者
chgrp username file/dir 修改文件或目录的组
chgrp -R username dir 修改目录内所有文件及目录的组
  • 修改文件或者目录的所有者:
chown usernamefile/dir

可以从下图看出文件的所有者被修改成student
这里写图片描述

  • 修改目录的所有者(包括目录本身以及该目录中的文件及目录):
chown -R username dir

这里写图片描述

  • 同时修改所属组和所有者:
chown username:group file/dir

提示:当你想同时修改组以及所有者时,首先应该先知道有哪些组

显示所有的组:cat /etc/group

这里写图片描述
提示:当你想修改一个目录以及该目录下的文件及子目录时,除了“chown -R username:group file/dir”这个方法外,还可以在目录后面加上”/*”,表示目录下的所有内容,不加的话,就只会修改该目录本身
这里写图片描述

  • 修改文件或目录的组
chgrp username file/dir

这里写图片描述

  • 修改目录中所有文件以及目录的组
    提示:不论是组还是用户都必须是已经存在的,否则无法修改
    这里写图片描述

2.权限的管理

1)字符形式
 chmod  <u/g/o> <+/-/=> <r/w/x> file/dir

 如下图所示:这里的意思是当你先获取file文件的权限后,根据字符形式可以修改文件file的权限,下图的u代表的就是“rw-“,u+x之后权限就变成了rwx,对于“-”“=”的运算也类似
这里写图片描述

2)数字形式

r(2) w(1) x(0)
可以这样理解:x等于2的0次方乘以0或者1=0或者1
x=2^0*0|1=0|1
w=2^1*0|1=0|2
x=2^2*0|1=0|4
由此可以得出一些值:

        rwx=7
        rw-=6
        r-x=5
        r--=4
        -wx=3
        -w-=2
        --x=1

如下图所示,可以进行对比,我们可以直接根据数字去修改文件或者目录的权限
这里写图片描述

3.权限列表

特定用户对特定文件有指定权限
rwxr-xr-x+权限位最后一位+的意思是该文件的权限列表被开启
getfacl file:查看文件的权限列表

例如:
[kiosk@foundation8 Desktop]$getfacl file
        file:file 文件名
        owner:kiosk 文件所有人
        group:kiosk 文件所有组
        user:rw- 用户权限
        user:leo:rwx 特殊指定用户权限
        group::rw- 组权限
        mask::rwk 权限最大值
        other::r-- 其他人权限

设置列表用户权限:

setfacl -m u:usernamerwx file

这里写图片描述

关闭用户权限:

setfacl -b file

提示:当我们没有开启权限列表的时候,可以从下图看出-rw-r–r–后面的是“.”,当我们设置权限列表后,它的后面就变成了“+”,当我们关闭权限列表后,它又变成了“.”,说明“.”代表是权限列表处于关闭状态,“+”表示权限列表处于开启状态
这里写图片描述
删除权限列表指定用户

setfacl -x u:username file

这里写图片描述

猜你喜欢

转载自blog.csdn.net/j_better/article/details/81712426
今日推荐