inux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
- chown (change owner) : 修改所属用户与组。
- chmod (change mode) : 修改用户的权限。
Linux文件基本属性是Linux系统文件管理的重要组成部分,它决定了文件的类型、权限、所有者、所属组、大小、修改时间等关键信息。以下是对Linux文件基本属性的详细介绍,包括使用、修改和功能等方面。
Linux文件基本属性介绍
- 文件类型
- 普通文件:最常见的文件类型,包括文本文件、二进制文件等。
- 目录文件:用于存储其他文件和目录的特殊文件,其名称以
d
开头。 - 字符设备文件:用于表示串行端口的接口设备,如键盘、鼠标等,以
c
开头。 - 块设备文件:用于存储数据以供系统存取的接口设备,如硬盘,以
b
开头。 - 链接文件:分为硬链接和符号链接(软链接),其中符号链接以
l
开头,它包含了另一个文件的路径。 - 管道文件(FIFO)和套接字文件(socket):用于进程间通信的特殊文件类型,分别以
p
和s
开头。
- 文件权限
- 文件权限分为三组:文件所有者(user)、同组用户(group)、其他用户(others),每组权限包括读(r=4)、写(w=2)、执行(x=1)。
- 权限可以通过数字(如755)或符号(如u=rwx,g=rx,o=rx)来表示和修改。
- 文件属主和属组
- 每个文件都有一个所有者(owner)和一个所属组(group),它们决定了文件的基本访问权限。
- 其他属性
- 硬链接数:表示有多少个文件名指向该文件。
- 文件大小:文件占用的磁盘空间大小,以字节为单位。
- 修改时间:文件的最后修改时间。
- 访问时间:文件的最后访问时间(注意,某些情况下访问时间可能不会更新)。
Linux文件基本属性的使用
查看文件属性
- 使用
ls -l
命令可以查看文件的详细属性,包括文件类型、权限、所有者、所属组、大小、修改时间等。 - 使用
file
命令可以查看文件的类型信息。
修改文件属性
- 修改文件权限:使用
chmod
命令,可以通过数字模式(如chmod 755 filename
)或符号模式(如chmod u+x,go-w filename
)来修改文件权限。 - 修改文件属主和属组:使用
chown
命令修改文件的所有者,如chown username filename
;使用chgrp
命令修改文件的所属组,如chgrp groupname filename
。chown
命令也可以同时修改文件的所有者和所属组,如chown username:groupname filename
。
Linux文件基本属性的功能
- 保护文件安全:通过精细的权限控制,Linux系统可以保护文件免受未授权访问和修改,从而提高系统的安全性。
- 实现多用户协作:通过文件属主和属组的设置,Linux系统可以支持多用户环境下的文件共享和协作。
- 优化文件管理:了解文件的类型、大小和修改时间等属性,有助于用户更好地组织和管理文件,提高文件系统的效率。
用例介绍
每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。