在 Linux 系统中,每个文件和目录都有一组权限,这些权限决定了用户和组对文件或目录的访问级别。
理解和管理文件权限是系统安全和文件管理的重要组成部分。
以下是 Linux 文件权限的基本概念及其解释:
一、文件权限的表示
Linux 文件权限通常通过以下两种方式表示:
2.1、符号表示法
文件权限通过符号形式表示,如 rwxr-xr--。
每个文件权限由三个部分组成,每部分对应三种用户类型的权限:
所有者权限(User):文件的所有者对文件的权限。
组权限(Group):文件所属组的成员对文件的权限。
其他用户权限(Others):系统中其他用户对文件的权限。
每个部分有三种可能的权限:
r:读(Read)权限,表示可以查看文件内容或列出目录内容。
w:写(Write)权限,表示可以修改文件内容或添加、删除目录中的文件。
x:执行(Execute)权限,表示可以执行文件(如果是可执行文件)或进入目录。
例如:rwxr-xr--
rwx(所有者权限):所有者可以读、写和执行该文件。
r-x(组权限):组成员可以读和执行该文件,但不能修改。
r--(其他用户权限):其他用户只能读取该文件。
2.2、数字表示法
每种权限也可以用一个三位的八进制数表示,每一位表示一种用户类型的权限
r = 4
w = 2
x = 1
例如:rwxr-xr-- 对应的数字表示为 755
7(所有者权限):4 + 2 + 1 = 7,即 rwx。
5(组权限):4 + 1 = 5,即 r-x。
4(其他用户权限):4 = 4,即 r--。
二、查看文件权限
可以使用 ls -l 命令来查看文件或目录的权限:
$ ls -l
-rw-r--r-- 1 user group 4096 Sep 2 12:00 example.txt
输出解释:
第一列的 -rw-r--r-- 表示文件的权限。
- 表示普通文件(d 表示目录,l 表示符号链接)。
rw- 表示所有者权限(读取和写入)。
r-- 表示组权限(仅读取)。
r-- 表示其他用户权限(仅读取)。
三、修改文件权限
可以使用 chmod 命令来修改文件或目录的权限。
2.1、符号表示法
chmod u+x filename:为所有者添加执行权限。
chmod g-w filename:去掉组的写权限。
chmod o=r filename:将其他用户的权限设置为只读。
2.2、数字表示法
chmod 755 filename:将文件的权限设置为 rwxr-xr-x。
chmod 644 filename:将文件的权限设置为 rw-r--r--。
四、特殊权限
除了基本的 rwx 权限外,Linux 还有一些特殊权限:
①、SetUID(SUID)
设置在可执行文件上,使得执行该文件的用户具有文件所有者的权限,而不是执行者自己的权限。
使用符号表示为 s,例如:rwsr-xr-x。
数字表示法为 4,例如:4755。
②、SetGID(SGID)
设置在目录上,使得新创建的文件或目录继承其父目录的组。
使用符号表示为 s,例如:rwxr-sr-x。
数字表示法为 2,例如:2755。
③、Sticky Bit
设置在目录上,使得只有文件的所有者才能删除该文件,即使其他用户有写权限。
使用符号表示为 t,例如:rwxr-xr-t。
数字表示法为 1,例如:1755。
五、总结
Linux 文件权限是一个强大且灵活的系统,它通过用户、组和其他用户的权限管理,确保文件和目录的安全性。
理解并熟练使用这些权限对于管理系统资源、保护敏感信息至关重要。
linux 第43章 linux文件的权限