Linux权限管理详解
目录
文件与目录权限
在Linux系统中,每个文件或目录的权限可以分为三个部分:所有者权限、所属组权限和其他用户权限。每部分权限又包括读取®、写入(w)和执行(x)。
常用命令
chown
命令
用于修改文件或目录的所有者和组。
- 基本语法:
chown [所有者]:[所属组] 文件/目录
- 示例:
chown caleb file.txt chown caleb:developers file.txt chown -R caleb:developers/path/to/directory
chmod
命令
用于修改文件或目录的权限。
- 符号模式:
chmod ugo+r 文件名
- 数字模式:
chmod 755 文件名
chown命令详解
chown
命令用于更改文件或目录的所有者和/或所属组。通过使用chown
,你可以改变文件的所有者和/或文件的所属组。
- 语法:
chown [选项] [所有者[:组]] 文件...
- 示例:
chown cjc 1 chown cjc:cjc 1.txt chown :cjc 1 chown -R cjc *
chmod命令详解
chmod
命令用于更改文件或目录的权限。权限可以使用符号模式或数字模式进行设置。
- 符号模式:
chmod u-w,g+w,o+x 文件名
- 数字模式:
chmod 777 文件名
特殊权限位
SUID (Set User ID)
当一个可执行文件具有SUID位时,任何用户运行该文件都将具有文件所有者的权限,通常是root用户。
SGID (Set Group ID)
- 作用:当一个二进制文件具有SGID权限时,普通用户执行该文件时,会临时获得该文件所属组的权限,而不是用户自身组的权限。
- 设置SGID:
chmod g+s 文件名
- 移除SGID:
chmod g-s 文件名
- 权限表示:如果设置了SGID位,则权限显示为
s
;如果没有执行权限但设置了SGID位,则显示为S
。
Sticky Bit
- 作用:当一个目录具有粘滞位时,在该目录中创建的文件或目录将继承该目录的所属组。
- 设置粘滞位:
chmod +t 目录名
- 移除粘滞位:
chmod -t 目录名