linux系统文件夹访问权限命令
linux系统文件夹访问权限命令详细介绍
在 Linux 系统中,管理文件夹(目录)和文件访问权限的核心命令是 chmod(修改权限)、chown(修改所有者 / 组)和 ls(查看权限)。以下是常用操作及示例:
一、查看权限:
ls -l
bash
目标路径
- 权限格式:
drwxr-xr-x(以目录为例)- 第 1 位:
d表示目录,-表示文件,l表示软链接。 - 接下来 9 位:每 3 位一组,分别对应 所有者(User)、所属组(Group)、其他用户(Others) 的权限:
r(读,4)、w(写,2)、x(执行,1),-表示无权限。
- 第 1 位:
二、修改权限:
chmod
1. 符号模式(推荐新手)
bash
ugo±rwx 目标路径
- 示例:
- 给目录
project的所有者添加写权限:chmod u+w project - 禁止其他用户访问目录
private的读写执行权限:chmod o-rwx private - 给文件
script.sh所有人赋予执行权限:chmod a+x script.sh(a代表所有人)
- 给目录
2. 数字模式(更高效)
bash
权限数字 目标路径
- 示例:
- 目录权限
rwxr-xr-x(所有者读写执行,组和其他用户只读执行):chmod 755 project(7=4+2+1,5=4+1) - 文件权限
rw-------(仅所有者读写):chmod 600 secret.txt
- 目录权限
3. 递归修改(目录及其子内容)
bash
/path/to/directory
三、修改所有者 / 组:
chown 和
chgrp
1. 修改所有者(需 root 或管理员权限)
bash
新所有者 目标路径user:group 目标路径
- 示例:
chown john:developers /data/report(将目录所有者改为john,组改为developers)
2. 仅修改所属组
bash
新组 目标路径
- 示例:
chgrp developers /data/report
四、特殊权限(粘滞位、SGID、SUID)
1. 粘滞位(仅目录可用,防止非所有者删除文件)
bash
+t 目标目录
2. SGID(目录下新建文件继承组)
bash
g+s 目标目录
3. SUID(文件以所有者权限执行,慎用!)
bash
u+s 目标文件
五、常见场景
| 场景 | 命令 | 说明 |
|---|---|---|
| 允许所有人读取目录,但仅所有者可写 | chmod 755 /public |
所有者 rwx,组和其他 r-x |
| 禁止其他用户访问敏感目录 | chmod 700 /private |
仅所有者 rwx |
| 让脚本可执行 | chmod +x script.sh |
等价于 chmod a+x script.sh |
| 批量修改项目目录权限 | chmod -R 644 /project/files |
文件 rw-r--r--,目录 rwxr-xr-x(默认) |
注意
- 权限原则:最小化原则,避免赋予过高权限(如
777)。 - 目录 vs 文件:目录的
x权限表示 “进入目录”,文件的x权限表示 “执行”。 - sudo:修改系统目录权限时需加
sudo(如sudo chmod 644 /etc/config.txt)。
通过以上命令,可灵活控制 Linux 系统中的文件和目录访问权限。