管理用户访问权限¶
在这篇文章中
权限:类型¶
Linux 采用灵活的权限系统,有助于控制谁可以访问文件和目录以及如何访问。这极大地增强了系统安全性。
只有超级用户 root 对整个系统拥有完全控制权,这就是为什么使用 root 执行日常任务被认为是有风险的:任何错误都可能导致严重损坏。普通用户默认只能在他们的家目录中工作,并且无法访问系统文件,从而防止意外或恶意的更改。
对于每个文件或目录,定义了三种类型的权限:
- r (read) – 读取,
- w (write) – 写入(更改内容),
- x (execute) – 执行(针对文件)或进入(针对目录)。
这些权限适用于三类用户:
- Owner – 文件的所有者(通常是创建者)。
- Group – 一组用户;他们获得对该文件的共享权限。
- Others – 不属于前两类的所有其他用户。
每类用户都可以拥有自己独立的权限集。
权限有两种表达方式:
- 字母数字格式:例如,
rwxr-xr--。 - 数字格式:每个权限编码为一个数字(读 = 4,写 = 2,执行 = 1),总和即为最终值。
例如,7=4+2+1=rwx。
数值按 所有者、组、其他 的顺序书写。
因此,755 (rwxr-xr-x) 意味着:
- 所有者可以读取、写入和执行(或进入目录)。
- 其他人可以读取和执行(或查看目录内容并进入)。
典型权限示例:
- 600 (
rw-------) – 只有所有者可以读取和编辑文件。 - 644 (
rw-r--r--) – 所有者可以编辑;其他人只能读取。 - 700 (
rwx------) – 仅所有者拥有完全访问权限。 - 755 (
rwxr-xr-x) – 所有者可以执行所有操作;其他人只能查看和使用(执行文件或进入目录)。
备注
请特别注意目录权限:要允许用户不仅查看文件列表,还要查看其属性(例如大小或所有者),他们至少需要 读取 + 执行 r-x(即 5)。仅读取 r-- 允许他们查看文件名,但无法查看其属性,而没有执行权限 x 他们甚至无法 cd 进入目录。
配置权限¶
通过 SSH 配置权限¶
Linux 中的文件和目录权限使用 chmod 命令进行管理。主要有两种使用方式。
方法 1:数字(绝对)模式¶
在此方法中,您立即使用三位数字为所有三类用户——所有者、组和其他人——设置完整的权限集。
命令格式:
示例:
chmod 755 test.php– 所有者获得完整的rwx权限,而组和其他人仅获得读取和执行权限 (r-x)。chmod 644 test.php– 所有者可以读取和编辑;其他人只能读取。chmod 755 dir– 目录的类似权限。
要将权限递归应用于文件夹内的所有文件和子目录,请使用 -R 标志:
备注
使用 -R 时要小心——该命令将更改目录中 所有内容 的权限,包括嵌套文件夹和文件。
方法 2:符号(相对)模式¶
在此方法中,您仅修改 所需的权限部分,而不影响其余部分。这对于小幅调整非常有用。
命令格式:
类别:
u– 所有者 (user)g– 组 (group)o– 其他人 (others)a– 所有 (all)
操作:
+– 添加权限-– 移除权限=– 设置确切值(移除其他权限)
权限 指定为 r、w、x(例如,rx,而不是 r-x)。
示例:
chmod g+rx test.php– 允许组读取和执行文件。chmod g-w test.php– 拒绝组写入访问。chmod o-rw test.php– 移除其他人的读取和写入权限。chmod go+rx dir1– 授予组和其他人查看和进入目录的权限。chmod -R go+r new_directory– 递归允许组和其他人读取new_directory内的所有文件和目录。
此方法更灵活且更安全,特别是在重要的是不干扰现有权限时。
通过 FTP 客户端配置权限¶
使用 FTP 客户端更改和设置权限也非常方便。让我们使用免费的 FileZilla 客户端逐步介绍此过程。
- 连接到服务器并选择所需的文件或目录。
- 右键单击并从上下文菜单中选择 File Permissions…。
- 设置所需的权限。
查看当前权限¶
要查看分配的权限,请使用 ls 命令。
当前目录中文件的权限:
特定文件或目录(例如,text.doc 或 dir1)的权限:
当前目录中所有嵌套子目录中文件的权限:
备注
在验证新会话是否正常工作之前,请勿关闭当前的 SSH 会话。否则,您可能会失去对服务器的访问权限。