【Linux】文件权限详解

【Linux】文件权限详解_第1张图片

博主 "开着拖拉机回家"带您 Go to New World.✨

个人主页——开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 ✨

希望本文能够给您带来一定的帮助文章粗浅,敬请批评指正!

感谢点赞和关注 ,每天进步一点点!加油!

目录

博主 "开着拖拉机回家"带您 Go to New World.✨

一、权限的基本介绍

1.1 Linux文件属性

1.2 Linux组介绍

1.3 rwx权限

1.3.1 rwx作用到文件

1.3.2 rwx作用到目录

1.4 文件及目录权限实际案例

二、修改权限-chmod[change ...]

2.1 第一种方式:+ 、-、= 变更权限

2.2 第二种方式:通过数字变更权限

三、修改文件所有者-chown

四、修改文件所在组-chgrp


一、权限的基本介绍


1.1 Linux文件属性


Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

执行"ll"命令显示的内容如下:

[root@devops test]# ll
total 4
-rw-r--r-- 1 root root 7 Apr 25 19:12 file.txt
[root@devops test]# 

说明

(1)第0位确定文件类型 ,说明:

  • -: 普通文件
  • d: 目录
  • l: 连接文件
  • c: 字符设备文件[键盘,鼠标]
  • b: 块设备文件[硬盘] ) 。

(2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 R: 读 , w : 写权限 ,x: 执行权限 (-表示没有)。

(3) 第4-6位确定所属组(同用户组的)拥有该文件的权限 。

(4) 第7-9位确定其他用户拥有该文件的权限 。

(5) 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录 。

(6) root : 文件或者目录所有者。

(7) root : 文件或者目录所在的组。

(8) 7 : 表示文件大小,如果是目录,则统一为 4096 。

(9) Feb 25 09:39 文件最后修改的时间。

【Linux】文件权限详解_第2张图片

1.2 Linux组介绍


在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

【Linux】文件权限详解_第3张图片

1.3 rwx权限


1.3.1 rwx作用到文件

  1. [ r ]代表可读(read):可以读取,查看
  2. [ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  3. [ x ]代表可执行(execute):可以被执行

1.3.2 rwx作用到目录

  1. [ r ]代表可读(read): 可以读取,ls查看目录内容
  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  3. [ x ]代表可执行(execute): 可以进入该目录

1.4 文件及目录权限实际案例


执行"ls -l "中显示的内容如下:

-rw-r--r-- 1 root root 29 Sep 29 13:02 abc.txt

说明:

  • 第一个字符代表文件类型: 文件 (-),目录(d),链接(l) ,如上是文件
  • 第一组rw- : 文件拥有者的权限是读、写,但不能执行
  • 第二组r-- : 与文件所在组的用户的权限是读, 但不能写和执行
  • 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为: r=4,w=2,x=1 因此rw =4+2=6

  • 1 文件:硬连接数或 目录:子目录数(有两个隐藏目录 .(代表当前目录) ..(代码上级目录),所以你数的个数会少两个 )
  • root : 用户
  • root : 组
  • 29: 文件大小(字节 多一个结束符),如果是文件夹,显示 4096字节 (并不是代表目录下面所有文件的大小,它代表的是目录本身所占空间的大小(目录是一种特殊的文件))
  • Sep 29 13:02 最后修改日期
  • abc.txt : 文件名

二、修改权限-chmod[change ...]


文件类型

属主权限

属组权限

其他用户权限

0

1 2 3

4 5 6

7 8 9

d

R w x

R - x

R - x

目录文件

读 写 执行

读 写 执行

读 写 执行

基本说明:

通过chmod指令,可以修改文件或者目录的权限。

2.1 第一种方式:+ 、-、= 变更权限


u:所有者(user)  g:所有组(group)  o:其他人(other)  a:所有人(u、g、o的总和)(all)  

1) chmod   u=rwx,g=rx,o=x     文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】  
2) chmod   o+w                文件、目录 【表示:给其它用户增加w 的权限】  
3) chmod   a-x                文件、目录    【表示:给所有用户 去掉 x权限】

案例演示一

说明:给abc.txt文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

[root@hdp105 test]# ll
total 4
-rw-r--r-- 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod  u=rwx,g=rx,o=rx  abc.txt 
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt

【Linux】文件权限详解_第4张图片

案例演示二

说明:给abc..txt文件的所有者除去执行的权限,增加组写的权限

[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod u-x,g+w abc.txt 
[root@hdp105 test]# ll
total 4
-rw-rwxr-x 1 root root 29 Sep 29 13:21 abc.txt

【Linux】文件权限详解_第5张图片

2.2 第二种方式:通过数字变更权限


文件类型

属主权限

属组权限

其他用户权限

0

1 2 3

4 5 6

7 8 9

d

R w x

R - x

R - x

目录文件

读 写 执行

读 写 执行

读 写 执行

  • r=4 w=2 x=1
  • rwx=4+2+1=7
chmod u=rwx,g=rx,o=x    文件、目录
相当于 chmod   751  文件、目录  ( 7(rwx)5(rx)1(x)  )

案例演示

要求:将 abc.txt 文件的权限修改成 rwxr-xr-x

rwx = 4+2+1 = 7
r+x = 4+1 = 5
r+x = 4+1 = 5

使用给数字的方式实现:

chmod 755 abc.txt

【Linux】文件权限详解_第6张图片


三、修改文件所有者-chown


基本介绍

chown  newowner  file  改变文件的所有者 
chown  newowner:newgroup  file  改变用户的所有者和所有组 

-R  如果是目录 则使其下所有子文件或目录递归生效

案例演示一

说明:请将 abc.txt 文件的所有者修改成 kangll

[root@hdp105 test]# useradd kangll
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chown kangll abc.txt 
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# 

【Linux】文件权限详解_第7张图片

案例演示二

要求: 将 /hadoop/kangll/test 目录下所有的文件和目录的所有者修改成kangll

[root@hdp105 test]# ll  /hadoop/kangll/test
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 root   root 29 Sep 29 15:10 bbb.txt
[root@hdp105 test]# 
[root@hdp105 test]# chown -R  kangll  /hadoop/kangll/test
[root@hdp105 test]# 
[root@hdp105 test]# 
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll root 29 Sep 29 15:10 bbb.txt

【Linux】文件权限详解_第8张图片

案例演示三

要求: 将test下的所有文件和目录的所有者都改成 kangll,将所在组改成hadoop

【Linux】文件权限详解_第9张图片


四、修改文件所在组-chgrp


基本介绍

chgrp newgroup file  改变文件的所有组

案例演示:

要求:将 abc .txt 文件的所在组修改成 hdfs

[root@hdp105 test]# 
[root@hdp105 test]# chown -R  kangll:hdfs   /hadoop/kangll/test
[root@hdp105 test]# 
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll hdfs 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll hdfs 29 Sep 29 15:10 bbb.txt

【Linux】文件权限详解_第10张图片

你可能感兴趣的:(Linux,linux,服务器,chown,chmod,文件权限)