一、权限基础概念

- 权限分类
- 文件权限r(读):查看文件内容w(写):修改文件内容(需配合目录的w权限才能删除文件)x(执行):运行文件(如脚本或二进制程序)目录权限r:列出目录内文件列表(需配合x权限才能访问内容)w:在目录内创建/删除/重命名文件x:进入目录或访问其内容
- 权限归属
- 所有者(User):文件创建者所属组(Group):用户所属的组其他用户(Others):非所有者且非组成员的用户
二、权限查看与修改

- 查看权限
ls -l 文件名 # 输出示例:-rw-r–r–(前10字符,第1字符为类型,后9字符分3组权限)
- 文件类型:-(普通文件)、d(目录)、l(链接)等
- 修改权限
- 数字表明法(r=4, w=2, x=1)
chmod 755 file.txt # 所有者rwx,组和其他r-x
- 符号表明法
chmod u+x script.sh # 为所有者添加执行权限
chmod g-w dir/ # 移除组的写权限
- 修改所有者与组
chown newuser:newgroup file.txt # 同时修改所有者和组
chgrp dev_team file.txt # 仅修改所属组
三、特殊权限与高级配置

- 特殊权限位
- SUID(Set User ID):执行时临时获得所有者权限(如/usr/bin/passwd)
chmod u+s file # 设置SUID位
- SGID(Set Group ID):目录下新建文件继承组权限
chmod g+s shared_dir # 设置SGID位
- 粘滞位(Sticky Bit):仅允许所有者删除目录内文件(如/tmp)
chmod +t directory # 设置粘滞位
“`[1,6,11](@ref)
- ACL(访问控制列表)
- 细粒度控制权限:
setfacl -m u:user:rwx file.txt # 为用户添加权限
getfacl file.txt # 查看ACL配置
四、目录配置的特殊性

- 目录的x权限
- 若目录无x权限,即使有r权限也无法进入或访问内容
- 目录的w权限
- 允许删除/重命名目录内文件,即使文件本身无写权限
- 典型目录配置示例
- Web服务器目录:
chmod 755 /var/www/html # 所有者可执行(运行服务)
chown -R www-data:www-data /var/www/html # 设置Web用户组
- 共享开发目录:
mkdir project && chmod 2770 project # SGID + 组用户可写
chgrp dev_team project
五、安全实践与注意事项
- 最小权限原则
- 敏感文件如/etc/shadow应设为600(仅所有者可读写)
- 避免危险权限
- 禁用777权限,尤其是系统目录(如/etc)
- 定期检查权限
- 使用find / -perm -o=w -ls查找可写文件
- 路径与绝对路径
- 相对路径可能因当前目录变化失效,提议使用绝对路径(如/home/user/file)
六、常见问题
- 权限拒绝错误:检查权限与所有者,使用namei -l 路径排查路径节点权限
- 递归修改权限:
chmod -R 755 directory # 递归设置目录及子文件权限
chown -R user:group dir # 递归修改所有者
通过合理配置权限,可有效保障系统安全与协作效率。提议结合ACL和SELinux等高级机制实现细粒度控制。
















暂无评论内容