Linux文件属性与文件权限

我们在 Linux 中,存在文件的目录中执行 ls -al 命令,就会获得该目录下文件及其文件属性的信息。

例如:

$ ls -al
-rw-r--r-- 1 root root 120 Jan 6 2019 .bashrc
(省略其他文件)

这些字符串代表了文件及文件属性。

那么,这些文件属性具体的含义是什么?如何修改文件属性呢?

一、Linux 文件属性

-rw-r--r-- 1 root root 120 Jan 6 2019 .bashrc
    [1]   [2] [3] [4]  [5]     [6]      [7]

[1] 文件类型与权限

[2] 表示链接到此节点的文件名数量

[3] 文件所有者

[4] 文件所属用户组

[5] 文件容量大小

[6] 文件创建日期或最近修改日期

[7] 文件名

以下对第[1]个属性——文件类型与权限做详细解释。

文件类型与权限说明
(1)文件类型

表明该文件具体的文件类型,如题含义有:

  • “d” 表示目录
  • “-” 表示文件
  • “l” 表示链接文件
  • “b” 表示可供存储的接口设备
  • “c” 表示串行端口设备

(2)权限

文件类型与权限属性中,后三项分别代表文件所有者、文件所属用户组、其他人三类用户对该文件的操作权限。

  • “r” 表示读权限,对于文件可以读取文件内容,对于目录可以通过 ls 查看目录下的文件
  • “w” 表示写权限,用户可以修改文件内容或目录下文件
  • “x” 表示执行权限,对于文件可以执行文件,对于目录可以通过 cd 切换到目录下操作

二、如何改变文件属性与权限

常用的对文件属性和权限的修改主要有三个:chgrp、chown、chmod

(1)chgrp:改变文件所属用户组

chgrp [group_name] [file_name]

(2)chown:改变文件所有者

chown [user_name] [file_name]

(3)chmod:改变文件的权限

chmod [mode] [file_name]

其中,mode 代表需要修改的权限形式,分别可以使用数字或者字符来表示。

前面提到,用户对于文件的权限有三个——读、写、执行,每一类用户都有这三个权限的说明。

1)数字形式

若使用数字形式表示权限,则每一个权限对应一个固定数字,即:

  • r = 4
  • w = 2
  • x = 1

一个文件中,每钟身份会对这个文件的权限数字作累加,同时三种身份的权限累加数字拼接,就是设置文件权限的对应的数字形式了,例如:

-rwxr--r--

第一个字符表示文件类型,后面9个字符,每三个字符依次表示三种用户的权限,其中

  • rwx:4+2+1=7
  • r–:4+0+0=4
  • r–:4+0+0=4

所以代表上述权限的数字是744,即如果要把文件修改为上述权限形式,则使用如下命令即可:

chmod 744 [file_name]

2)字符形式

Linux 提供了另一种方法——以字符的形式表达权限的形式。

文件所有者、文件所属用户组、其他人三种身份分别以 u、g、o 三个字母代表;

权限的修改形式有增加、除去、设置三种,分别以 +、-、= 三个字符代表;

权限有三类,分别是 r、w、x。

将上述三类字符拼接即可表达权限,以下为具体例子:

chmod u=rwx [file_name]   # 修改文件所有者的权限为rwx
chmod go-r [file_name]    # 去除文件所属用户组及其他人对该文件的写权限

(完)

本文为原创文章,转载请告知作者,未经授权请勿转载。

欢迎关注我的微信公众号、知乎:多面手程序员

如果您觉得这篇文章还不错,随手点赞,手有余香~ : )

发布了6 篇原创文章 · 获赞 4 · 访问量 544

猜你喜欢

转载自blog.csdn.net/MultiSkill/article/details/104332987