linux给文件夹权限管理——文件权限、chmod和chown命令讲解
下面将详细介绍Linux文件权限管理,帮助有需要的ikun理解和应用这些概念。从基本的权限概念开始,然后介绍如何查看和修改权限。最后,我们整点高级的东西,如访问控制列表(ACL)。

1. 文件权限基础
在Linux中,每个文件和目录都有一组权限,用于控制不同用户对其的访问。权限分为三类:
- 读(r):允许用户读取文件内容或列出目录中的文件
- 写(w):允许用户编辑文件内容或在目录中创建、删除文件
- 执行(x):允许用户运行文件(如果它是一个可执行程序)或进入目录
权限按照三个主要用户类别分组:
- 文件所有者(u,user)
- 文件所属组(g,group)
- 其他用户(o,others)
2. 查看文件权限
要查看文件或目录的权限,可以使用ls -l命令。例如,对于名为example.txt的文件,运行:
先创建一个example.txt文件,再查看文件

从左到右,输出的第一个字段表示文件类型和权限(-rw-r--r--)。忽略第一个字符(表示文件类型),剩下的9个字符分为3组,每组3个字符,分别表示所有者、组和其他用户的权限。
在本例中,所有者具有读写权限(rw-),组和其他用户只具有读取权限(r--)。数字1表示文件的硬链接数,user和group分别表示所有者和所属组。接下来是文件大小(25字节),修改日期和文件名。
3. 修改文件权限
要修改文件或目录的权限,可以使用chmod命令。chmod有两种模式:符号模式和数字模式。
3.1 符号模式
符号模式使用字母表示要修改的用户类别(u、g、o、a(表示全部))和要执行的操作(+、-、=)。例如,要向所有用户授予example.txt的写入权限,可以运行:
chmod a+w example.txt

要删除其他用户的写权限,可以运行:
chmod o-w example.txt

3.2 数字模式
数字模式使用3位八进制数表示权限。每位数字表示一个用户类别的权限,从左到右分别是所有者、组和其他用户。将每个权限映射到一个数值:r为4,w为2,x为1。每个用户类别的权限是这些值的和。
例如,要设置example.txt的权限,以便所有者具有读写权限(rw-),组具有只读权限(r--),其他用户没有权限(---),可以运行:
删除上面创建的example.txt文件,创建新的example.txt文件


给example.txt文件640权限,默认是644,chmod 640 example.txt

再给example.txt文件777权限

在这里,6(4+2)表示所有者的读写权限,4表示组的读取权限,0表示其他用户没有权限。
4. 高级主题:访问控制列表(ACL)
访问控制列表(ACL)是一种更灵活的权限管理方式。要启用ACL,需要在文件系统挂载时启用ACL选项。之后,可以使用getfacl和setfacl命令查看和设置ACL。
例如,要允许名为user2的用户读取ikun.txt,可以运行:
setfacl -m u:user2:r ikun.txt
首先创建user2用户

再创建一个文件用于练习,touch ikun.txt

设置允许名为user2的用户读取ikun.txt

要查看example.txt的ACL,可以运行:
getfacl ikun.txt

这显示了ikun.txt的默认权限和特定用户(user2)的ACL。要删除特定的ACL条目,可以使用-x选项,例如:
setfacl -x u:user2 ikun.txt

5. 总结
在本教程中,我们介绍了Linux文件权限管理的基本概念,如何查看和修改文件权限,以及访问控制列表(ACL)的高级主题。通过了解和应用这些概念,初学者可以更好地管理Linux系统上的文件访问权限,确保数据的安全和完整性。
相关推荐
-
第18问:MySQL CPU 高了,怎么办?2025-02-24 10:27:18
-
mysql索引类型 normal, unique, full text
mysql索引类型 normal, unique, full text2025-02-24 10:05:05 -
uwsgi+django+nginx 搭建部分总结2025-02-24 10:03:33
-
使用Docker配置Nginx环境部署Nextcloud2025-02-24 10:02:03
-
Nginx安装和怎么使用2025-02-24 10:00:45