linux文件权限

用户:有自己的个人权限

用户组:多个用户组成,有组权限

其他用户:相对于用户,用户组而言。有其他用户权限。

root 无敌,干啥都行

在我们linux系统中,默认情况下,所有系统上的账号的相关信息都会记录在/etc/passwd这个文件内。

个人密码则会记录在/etc/shadow这文件下。

此外,linux所有的组名都会记录在/etc/group内。

文件权限

第一个字符表示文件类型,d是文件夹,l是连接文件,-是普通文件。

后面的9个字符表示权限。

权限分为4中,r表示读取权限,w表示写入权限,x表示执行权限,-表示无此权限。

9个字符共分为3组,每组3个字符。第1组表示创建这个文件的用户的权限,第2组表示创建创建这个文件的用户所在的组的权限,第3组表示其他用户的权限。

在每组中的3个字符里,第1个字符表示读取权限,第2个字符表示写入权限,第3个字符表示执行权限。如果有此权限,则对应位置为r,w或x,如果没有此权限,则对应位置为-。

所以说-rw-r--r--,表示这是一个普通文件,创建文件的用户的权限为rw-,创建文件的用户所在的组的权限为r--,其他用户的权限为r--。

在修改权限时,是用不同数字来表示不同权限的。4表示读取权限,2表示写入权限,1表示执行权限。

设置权限时,要给3类用户分别设置权限。

例如chmod 761表示,给创建文件的用户设置的权限是7,7=4+2+1,所以意思是给创建文件的用户赋予读取,写入和执行权限。6=4+2,也就是说给创建文件的用户所在的组赋予读取和写入权限,最后一个1表示执行权限,也就是说,给其他用户执行权限。

ls -lh 

d rwxr-xr-x 4 root root 30 Aug 9 10:04 wen1

(1) (2) (3) (4) (5) (6) (7) (8)

 

(1)类型

(2)权限

(3)目录中子目录的个数

(4)用户

(5)组

(6)子文件或子目录元数据大小(元数据:描述数据的数据 文件的属性即为文件的元数据)

(7)最后一次被访问的时间

(8)名称

 

ls -al  所展示的信息

 

 

 

 

 

  第一列就是档案的权限了,我们等下再说,先来说说后面的:

      连接数:每个档案都会将他的权限和属性记录到文件系统的inode中,每个档案名都会连接到一个inode。这个连接数就是记录有多少不同的档案名连接到相同的一个inode号码去了。

      拥有者就是这个档案所属的拥有者账号了。

      用户组:表示这个档案所属的群组

      第五列就是这个档案占用的容量大小了,默认单位是bytes

      修改日期就是这个档案最近被修改的日期

      档案名就是名字啦!!注意的是,以点 . 开头的是隐藏文件哦!

  建目录时,默认会生成两个目录项:".“和”.."。前者的inode号码就是当前目录的inode号码,等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录)。

链接数,硬链接,软连接

  上面说的连接数icoud数表示的是硬链接数目 

硬链接

  一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。

这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。

ln 文件 文件

 

 

 

软连接

  文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。

这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such file or directory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。

ln -s 文件1 文件2

  

 

. ..

 

   建目录时,默认会生成两个目录项:".“和”.."。前者的inode号码就是当前目录的inode号码,等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录)。

改变文件的权限

chown

 

 没有用户会报错

改变所在组

chgrp -R 组名 文件

改变文件权限,目录权限

chmod u= ,g= ,o= 文件  空格处是填写rwx =也可以写成+ -表示加上和减去权限

chmod 数字 文件  数字为4 2 1随便加对应rwx

 

关于000权限的文件

root可以进行读写操作,root很无敌

该文件的属主也可以进行相应操作,把权限改回来

 

 

 关于最后的那两个没有权限进行删除操作我没成功

  如上图所示我删除1.txt没成功的原因是因为我当时使用的账户test1对该文件所在的文件夹test没有所有的权限

如果有test文件夹的rwx权限也就能删除1.txt.

  因为找到该文件关键是找到其inode码,该文件的inode码在其附属文件夹中.然后看下面

plot:

首先删除这个文件需要文件你要先拥有这个文件所属文件夹(这里需要强调是文件夹)的所有权限就是读r,写w,执行x

因为发现这个文件的过程首先是进入这个文件夹,需要x权限,然后读取文件夹内容需要r权限,
最后是删除文件,但是由于文件是上级文件夹的一部分,所以需要对文件夹有w权限。这里有人可能会想我不进入文件夹用 rm /xxx/sss 的方式是不是就只需要rw权限? 这样是不行的,因为删除过程还是会进入文件夹,只是在系统内部执行的 你看不见。

值得注意的是,上级文件夹的权限配置完毕后删除文件时我们甚至不需要对文件有任何权限就可以删除,但是如果你要编辑和读取文件内容还是需要对文件拥有rw权限。
————————————————
版权声明:本文为CSDN博主「gewen_1988」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23062949/article/details/107817830

 

posted @ 2021-09-05 12:02  睿智的小班班长  阅读(375)  评论(0)    收藏  举报