一、Linux文件/文件夹权限基础
1.1 权限核心构成
Linux权限由「三类角色 」和「三种权限 」组合而成,权限标识以字符串形式呈现(如drwxr-xr-x)。
-
三类角色:所有者(u,文件创建者)、所属组(g,创建者所在用户组)、其他用户(o,非所有者且非所属组用户);
-
三种权限:读(r=4)、写(w=2)、执行(x=1),权限可叠加(如rwx=4+2+1=7);
-
权限标识解析:共10位字符,第1位标识类型(d=文件夹,-=文件),第2-4位为所有者权限,第5-7位为所属组权限,第8-10位为其他用户权限。
1.2 常用权限场景对照表
| 使用场景 | 权限数值 | 权限字符(文件/文件夹) | 核心说明 |
|---|---|---|---|
| 公共可访问文件夹 | 755 | drwxr-xr-x | 所有者读写执行,其他用户仅能访问 |
| 仅自己可用文件夹 | 700 | drwx------ | 仅所有者可操作,其他人无权限 |
| 公共可读文件 | 644 | -rw-r--r-- | 所有者读写,其他用户仅能查看 |
| 敏感文件(如配置) | 600 | -rw------- | 仅所有者可读写,防止篡改 |
| 可执行脚本文件 | 755 | -rwxr-xr-x | 所有者可修改执行,其他用户可执行查看 |
1.3 权限设置方法
1.3.1 图形化方式(FileZilla)
-
选中目标文件/文件夹,右键选择「文件权限」或「属性→权限」;
-
勾选对应角色的「读/写/执行」权限,或直接输入权限数值(如755);
-
确认后生效。
1.3.2 命令行方式(chmod)
核心命令:chmod 权限数值 目标路径,可加-R参数递归设置子文件/文件夹权限。
bash
# 示例1:设置文件夹为公共可访问
chmod 755 /home/public_dir
# 示例2:递归设置敏感文件仅自己可用
chmod -R 600 /home/user/config
# 示例3:设置脚本可执行
chmod 755 /home/user/script.sh
二、Linux用户管理与权限分配
2.1 新增用户完整流程
-
创建用户 :默认生成同名用户组,命令:
useradd 用户名(如useradd testuser); -
设置密码 :必须执行,否则无法登录,命令:
passwd 用户名(如passwd testuser),按提示输入密码; -
(可选)添加附加组 :加入sudo组获取管理员权限,命令:
usermod -aG 组名 用户名(如usermod -aG sudo testuser)。
2.2 用户权限分配方法
2.2.1 修改文件所有者/所属组(chown)
核心命令:chown 所有者:所属组 目标路径,-R参数递归生效。
bash
# 示例:将/data文件夹及子内容的所有者和组设为testuser
chown -R testuser:testuser /data
2.2.2 直接开放文件权限(chmod)
针对非所有者用户,通过开放「所属组」或「其他用户」权限实现访问,推荐安全方式:给所属组开放权限而非所有用户。
bash
# 示例:将/data所属组改为testuser组,开放组内读写权限
chgrp testuser /data
chmod -R 775 /data # 所有者+组内读写执行,其他用户只读
2.2.3 验证权限
切换用户测试访问:su - 用户名(如su - testuser),再通过ls /data等命令验证。