了解Linux权限管理

Linux文件属性

在以root身份登录Linux之后,执行“ls -al”,会看到以下内容:

了解Linux权限管理_第1张图片
ls -al输出内容
  1. 第一列代表这个文件的类型与权限

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

若是【d】则是目录

若是【-】则是文件

...

接下来的字符中,以3个为一组,且均为“rwx”的三个参数组合。其中【r】代表可读,【w】代表可写,【x】代表可执行,如果没有权限,就会出现减号【-】。

第一组,也就是2到4位字符表示“文件所有者的权限”,以上图为例,2到4位为【rwx】,该文件所有者可以读、写、执行。

第二组,也就是5到7位字符表示“同用户组的权限”。

第三组,也就是8到10位字符表示“其他非本用户组的权限

  1. 第二列表示有多少文件名连接到此节点

  2. 第三列表示这个文件(或目录)的“所有者账号”

  3. 第四列表示这个文件的所属用户组

  4. 第五列为这个文件的容量大小,默认单位为B

  5. 第六列为这个文件的创建文件日期或者是最近的修改日期

  6. 第七列为该文件名

如何改变文件属性与权限

chgrp:改变文件所属用户组

chown:改变文件所有者

chmod:改变文件的权限

  1. 改变所属用户组:chgrp
chgrp [用户组] [文件名]
  1. 改变文件所有者:chown

chown可以顺便修改用户组的名称,如果要连目录下的所有子目录和文件都同时更改文件所有者的话,直接加上【-R】参数即可。

chown [-R] [账号名称]:[用户组] [文件名]
  1. 改变文件的权限:chmod

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

数字类型改变文件权限

前面提到,文件的权限字符为“-rwxrwxrwx”,这九个权限是三个三个一组的,我们可以使用数字来代表各个权限。

r:4
w:2
x:1

每种身份各自的三个权限(r、w、x)数值是需要累加的,例如当权限为“-rwxrw----”,分数则是:

  • owner = rwx = 4 + 2 + 1 = 7
  • group = rw- = 4 + 2 + 0 = 6
  • others = --- = 0 + 0 + 0 = 0

所以当我们需要设置权限更改时,该文件的权限数字为760。

chmod [-R] [权限数字] [文件或目录]

符号类型改变文件权限

我们通过u,g,o来代表user,group,others三种身份的权限。此外a代表all,即全部身份。

读写执行的权限可以写成r,w,x。

操作有+(添加),-(删除),=(设置)。

例如:

设置权限为“-rwxrw----” : chmod u=rwx,g=rw [文件名]

增加group的写和执行权限 : chmod g+wx [文件名]

删除所有人的执行权限 : chmod a-x [文件名]

目录与文件权限的意义

权限对文件的重要性

r:可读取文件的实际内容,如读取文本文件的文字内容等。

w:可以编辑、新增或者是修改文件的内容(但不含删除文件)。

x:该文件具有可以被系统执行的权限。

权限对目录的重要性

目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。

r:表示具有读取目录结构列表的权限,所以当你具有读取一个目录的权限时,表示你可以查询该目录下的文件名数据,所以你就可以利用ls命令将该目录的内容列表显示出来。

w:表示你具有该目录结构列表的权限,包括:

新建文件和目录;

删除已经存在的文件和目录;

重命名已存在的文件或目录;

转移该目录内的文件、目录位置;

x:代表用户能否进入该目录成为工作目录。例如,当你登录Linux时,你所在的主文件夹就是你当下的工作目录,而变换目录的命令是cd。

要开放目录给任何人浏览时,应该至少要给予r及x的权限,但w权限不可随便给。

参考

鸟哥的Linux私房菜

你可能感兴趣的:(了解Linux权限管理)