Linux 目录权限那些事儿

在 Linux 的世界里,权限管理像一个古老的仪式,为文件和目录筑起坚实的防护墙。今天我们就来一起领略 Linux 目录权限的奥秘!

一、Linux 权限的基础概念

在 Linux 系统中,所有文件和目录都遵循一套权限规则。这些规则控制谁可以读(Read)、写(Write)或执行(Execute)文件。这听起来简单,但其实背后有一整套体系。

1. 权限的三种身份

Linux 把用户分为三类,每类用户对文件/目录的权限可以单独设定:

所有者(Owner):文件的创建者,一般默认是文件的所有者。所属组(Group):一群用户组成的组,文件可以属于某个组。其他用户(Others):所有不属于上述两类的用户。2. 权限的三种操作

文件和目录都有以下三种权限:

读权限(r)

文件:可以查看文件内容。目录:可以列出目录中的文件。

写权限(w)

文件:可以修改文件内容。目录:可以添加、删除、重命名目录内的文件。

执行权限(x)

文件:可以运行文件(如脚本)。目录:可以进入目录。3. 权限的表示方法

权限用 rwx 这三个字母表示。例如,一个文件的权限是 -rw-r--r--,它可以分解为:

第一个字符:- 表示普通文件,d 表示目录,l 表示符号链接等。后面的 9 个字符:分成三组,每组三个,分别表示 所有者所属组 和 其他用户 的权限。

权限也可以用八进制表示:

r = 4w = 2x = 1没有权限 = 0

例如,rw- 就是 4 + 2 = 6,所以 -rw-r--r-- 可以写成 644。

二、常见的目录权限操作

1. 查看权限:ls -l

最基本的操作就是看看权限长什么样。运行以下命令:

复制
ls -l1.

输出示例:

复制
-rw-r--r-- 1 user group 1024 Nov 16 example.txt1.

这里你能看到权限信息、文件所有者、所属组、文件大小和修改时间。

2. 修改权限:chmod

chmod 是修改文件权限的主力工具,有两种使用方法:符号法和数字法。

符号法

复制
chmod u+x example.sh # 给文件所有者增加执行权限 chmod g-w example.sh # 移除所属组的写权限 chmod o+r example.sh # 允许其他用户读取文件1.2.3.

数字法

复制
chmod 755 example.sh # 设置文件权限为 -rwxr-xr-x chmod 644 example.txt # 设置文件权限为 -rw-r--r--1.2.

注意:数字法适合批量操作,但符号法更直观!

3. 修改所有者和组:chown 和 chgrp

修改所有者

复制
chown new_owner example.txt1.

修改所属组

复制
chgrp new_group example.txt1.

同时修改所有者和组

复制
chown new_owner:new_group example.txt1.

如果你想递归修改整个目录及其子目录的所有者/组,加上 -R 参数:

复制
chown -R new_owner:new_group /path/to/directory1.
4. 默认权限:umask

每次新建文件或目录时,系统会根据默认的 umask 设置权限。可以查看当前的 umask:

umask

输出可能是 0022,它会限制其他用户的写权限。可以修改 umask 来影响新建文件的权限:umask 0007 # 让其他用户完全没有权限三、有趣的权限用例1. 限制目录访问:chmod 700

如果你有一个私密文件夹,不想让其他人窥探你的小秘密,可以这样做:

复制
chmod 700 my_secret_folde1.

这将确保只有你(所有者)可以访问。

2. 共享文件夹:chmod 770

想和团队共享一个目录?可以让所有组成员都有权限:

复制
chmod 770 team_folder1.

还可以用 chgrp 修改组为你的团队组。

3. 阻止意外修改:chmod a-w

你有个文件,不希望任何人误操作删改?禁用写权限:

复制
chmod a-w important_document.txt1.
4. 临时开放执行权限:chmod +x

如果下载了一个脚本,需要临时运行它,可以快速赋予执行权限:

复制
chmod +x script.sh ./script.sh1.2.

四、终极问题:谁动了我的权限?

想要知道谁对你的文件动了手脚?可以用 auditd 进行监控:

1.安装 auditd:

复制
sudo apt install auditd1.

2.添加监控规则:

复制
sudo auditctl -w /path/to/your/file -p rwxa -k file_monitor1.

3.查看日志:

复制
sudo ausearch -k file_monitor1.

五、总结

Linux 目录权限虽然规则明确,但灵活多变,用好了可以事半功倍,用不好会踩各种坑。无论是保护自己的文件,还是高效地协作,掌握权限管理是不可或缺的一步。

THE END
本站服务器由亿华云赞助提供-企业级高防云服务器