Linux文件权限属性

这篇文章讲一下Linux文件的权限要如何针对“用户”与“用户组”来设置。

一.首先让我们来了解一下用户属性

在终端输入 ls -al会看到下面的内容:

Linux文件权限属性


ls是“list”的意思,重点在显示文件的文件名与相关属性。而参数“-al”则表示列出所有的文件详细的权限与属性(包含隐藏文件)。

 

  1. 第一列代表这个文件的类型与权限

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

  • [d]代表目录
  • [-]代表文件
  • [l]代表连接文件(linkfile)

接下来的字符中,以3个为一组,且均为‘rwx’的三个参数的组合。[r]代表可读(read),[write]代表可写(write),[x]代表可执行(execute),这3个权限的位置不会变,如果没有权限,就会出现减号[-]而已。
第一组为“文件所有者的权限”
第二组为“用户组的权限”
第三组为“其他非本用户组的权限”

  1. 第二列表示有多少文件名连接到此节点
  2. 第三列表示这个文件(或目录)的“所有者账号”
  3. 第四列表示这个文件的所属用户组
  4. 第五列为这个文件的容量大小,默认单位为“B”
  5. 第六列为这个文件的创建日期或者最近的修改日期。
  6. 第七列为该文件名

二.修改文件属性与权限

  • chgrp:改变文件所属用户组
  • chown:改变文件所有者
  • chmod:改变文件的权限
  1. chgrp (change group的简称)
    要改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误
    chgrp -R dirname/filename ...
    -R: 进行递归(recursive)的持续更改,也即连同子目录下的所有文件、目录。都更新成为这个用户组之意,常常用在更改某一目录内所有的文件情况。
    chgrp users install.log
    将install.log文件改为users用户组

  2. chown (change owner的简称)
    用户必须是已经存在于系统中的账号,也就是在/etc/password这个文件中有记录的用户名才能改变。
    如果要连目录下的所有子目录或文件都同时更改文件所有者的话,直接加上-R的参数即可。
    chown [-R] 账号名称 文件或目录

  3. chmod
    我们可以使用数字来代表各个权限,各权限的分数对照表如下:

权限对应数字
r4
w2
x1

-rwxrwx---

  • owner: 4+2+1=7
  • group: 4+2+1=7
  • others: 0+0+0=0

相关推荐