编程技术分享平台

网站首页 > 技术教程 正文

Linux基础运维篇:Linux 权限与 ACL 精细控制(第008课)

xnh888 2025-06-09 06:51:33 技术教程 2 ℃ 0 评论

前言

在 Linux 系统里,就跟咱们生活中每个地方都有不同的规矩一样,文件和文件夹也有自己的 “规矩”,也就是权限。合理管理这些权限,能保障系统安全,防止重要信息被随意修改或访问。咱们常用的管理手段有基础的chmod和chown,还有更高级的 ACL 控制工具setfacl,下面就来详细说说。


基础权限管理

1. 文件权限长啥样

在 Linux 中,每个文件和文件夹都有一套 “权限密码”。权限主要有三种:读(r)、写(w)、执行(x)。可以把它们想象成不同类型的钥匙,读权限是能打开门看看里面有啥的钥匙;写权限是能往里面放东西或者拿走东西的钥匙;执行权限是能在里面搞活动的钥匙。

而且这些权限是针对三类 “角色” 设置的:文件所有者,就像是房子的主人;所属组,类似主人的家人或朋友;其他用户,好比陌生人。

你用ls -l命令查看文件信息时,会看到类似-rw-r--r--这样一串字符。第一个字符-表示这是个文件,如果是d就代表是文件夹。后面三组字符分别对应所有者、所属组、其他用户的权限。


2.chmod:改变权限的 “魔法咒语”

这个命令可以改变文件或文件夹的权限,有两种念 “咒语” 的方式。

数字模式
每种权限都对应一个数字,读是 4,写是 2,执行是 1,没有权限就是 0。把这三个数字加起来,就得到一个三位数,分别代表所有者、所属组、其他用户的权限。

比如,你想让文件所有者能读写,所属组和其他用户只能读,就用chmod 644 文件名。因为 6 是 4(读) + 2(写),4 就是 4(读)。

符号模式
这种方式更直观。u代表所有者,g代表所属组,o代表其他用户,a代表所有人。+是增加权限,-是减少权限,=是设置权限。

比如,你想给文件所有者加上执行权限,就念 “咒语”chmod u+x 文件名。


3.chown:换 “主人” 的命令

这个命令就像给房子换主人一样,可以改变文件或文件夹的所有者和所属组。

命令格式是chown 新主人:新所属组 文件名。比如,你要把一个文件的主人换成newuser,所属组换成newgroup,就用chown newuser:newgroup 文件名。


访问控制列表(ACL)

1. 为啥要有 ACL

前面的基础权限管理只能对所有者、所属组、其他用户这三类角色设置权限。但在实际生活中,有时候我们可能想给某个特殊的客人一些特别的待遇。在 Linux 里也是,ACL 就能让我们给特定的用户或用户组设置更细致的权限。


2. 看看系统支不支持 ACL

在使用 ACL 之前,得先确认你的系统是否支持。就像你要使用某种特殊工具,得先看看你的工具箱能不能装得下。你可以用mount | grep acl命令,如果输出里有acl这个词,就说明支持;要是没有,就得重新挂载文件系统,加上acl选项。


3.setfacl:给特定人开 “小灶”

这个命令能给特定的用户或用户组设置特殊权限。

给特定用户加权限
用-m选项。比如,你想给用户user1一个文件的读写权限,就用setfacl -m u:user1:rw 文件名。

给特定用户组加权限
同样用-m选项。比如,你想给用户组group1一个文件的执行权限,就用setfacl -m g:group1:x 文件名。


4.getfacl:查看特殊权限

当你想知道某个文件或文件夹给了哪些用户或用户组特殊权限时,就用getfacl 文件名命令,它会把详细的权限设置告诉你。


5. 删除特殊权限

如果你不想给某个用户或用户组特殊权限了,就可以删除对应的规则。

用-x选项能删除某个用户的规则,比如setfacl -x u:user1 文件名就把用户user1的特殊权限删掉了。

用-b选项能把所有特殊权限规则都删掉,setfacl -b 文件名。


总结

基础的权限管理(chmod和chown)能满足大多数日常需求,就像家里的基本安全措施能保障一般的安全。但当你需要对特定的用户或用户组进行更精细的权限控制时,ACL(setfacl和getfacl)就派上用场了。合理运用这些工具,能让你的 Linux 系统更加安全可靠。

#Linux##服务器#

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表