Linux文件权限概念

Linux一般讲文件可存取访问的身份分为3个类别,分别是owner、group、others,且3中身份各有read、write、execute等权限。

1、Linux文件属性

这里写图片描述
这里写图片描述

1.1、 第一列代表这个文件的类型与权限

第一个字符代表这个文件是“目录、文件或链接文件等”。

  • 若是[d]则是目录。
  • 若是[-]则是文件。
  • 若是[l]则是链接文件。
  • 若是[b]则表示设备文件里面的可供存储的接口设备。
  • 若是[c]则表示设备文件里面的串行端口设备。

接下来的字符中,以3个位一组,且均为rwx的三个参数的组合。其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(execute)。需要注意的是,这3个权限的位置不会改变,如果没有权限,就会出现减号[-]而已。

  • 第一组为“文件所有者的权限”
  • 第二组为“同用户组的权限”。
  • 第三组为“其他非本用户组的权限”

1.2、第二列表示有多少文件名链接到此节点(i-node)

每个文件都会讲它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录的就是有多少不同文件名连接到相同的一个i-node号码。

1.3、其他列含义

  • 第三列表示这个文件(或目录)的“所有者账号”。
  • 第四列表示这个文件的所属用户组。
  • 第五列为这个文件的容量大小,默认单位为B。
  • 第六列为这个文件的创建文件日期或者是默认的最近修改日期。
  • 第七咧为该文件名。

2、如果改变文件属性与权限

chgrp:改变文件所属用户组。
chown:改变文件所有者。
chamod:改变文件的权限。

2.1、改变所属用户组:chgrp

注:要被改变的组名必须在/etc/group文件内存在才行,否则就会显示错误。

[root@www ~]# chgrp [-R] groupname dirname/filename
选项与参数:
-R:进行递归的持续更改。

2.2、改变文件所有者:chown

注:用户必须是/etc/passwd这个文件中有记录的用户名才能改变。

[root@www ~]# chown [-R] ownname dirname/filename
[root@www ~]# chown [-R] ownname:groupname dirname/filename
选项与参数:
-R:进行递归的持续更改。

2.3、改变权限:chmod

权限的设置有两种方法,分别可以使用数字或者是符号来进行权限的更改。

数字类型改变文件权限
LInux文件的基本权限有9个,分别是owner、group、others三种身份各有自己的read、write、execute权限,使用数字来代表各个权限,各权限的分数对照如下:

  • r:4
  • w:2
  • x:1

每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的,例如,当权限为[-rexrwx—],分数则是:

  • owner=rwx=4+2+1=7
  • group=rwx=4+2+1=7
  • others=rwx=4+2+1=7

所以当我们设置权限的时候,该文件的权限数字就是770,更改权限的命令chmod的语法如下:

[root@www ~]# chmod [-R] xyz dirname/filename
选项与参数:
xyz:就是上文的数字类型权限属性,为rwx属性数值相加。
-R:进行递归的持续更改。

符号类型改变文件权限
可以通过u、g、o来代表3中身份的权限。此外a代表all,也即全部的身份。那么读写的权限就可以写成r,w,x,也就是可以使用下面方式:
这里写图片描述
例如:我们要设置一个一个文件的权限为“-rwxr-xr-x”时,基本上就是:

  • user(u)具有可读、可写、可执行的权限;
  • group和others(g/o):具有可读与执行的权限。
[root@www ~]# chmod u=rwx,go=rx .bashrc

如果,只想要增加.bashrc这个文件的每个人均可写入的权限,那么:

[root@www ~]# chmod a+w .bashrc

如果,要去掉全部人的可执行权限,则:

[root@www ~]# chmod a-w .bashrc

猜你喜欢

转载自blog.csdn.net/finish_dream/article/details/80351676