学习目标:设置文件的 Linux 文件系统权限,并解释不同权限设置的安全效果。
学习内容:
1 . 列出文件和目录的文件系统权限,并解释这些权限对用户和组访问权限的影响。
Linux 文件系统权限
文件权限控制对文件的访问。
可以针对文件所属用户、所属组和其他用户设置不同的权限。
权限具有优先级,user 权限覆盖 group 权限, group 覆盖 other 权限。
有三种权限类别:读取、写入和执行。
查看权限及所有权
ls -l 命令显示文件的权限和所有权,-d 选项显示所属目录的权限和所有权。
第一位文件类型:- 普通文件,d 目录,l 软链接,b 和 c 是硬件设备,接下来九位代表文件权限,分三组,每组三个字符,每组分别对应所属用户、所属组、其他用户权限,权限可以表示为:r w x 或 - ,权限依据优先匹配原则。
从命令行管理文件权限
更改文件和目录权限
chmod (change mode) 命令用于修改文件权限。
符号法:
- Who 是指 u、g、o、a(代表用户、组、其他、全部)。
- What 是指 +、-、=(代表添加、删除、精确设置)。
- Which 是指 r、w、x 或 X(代表读取、写入、执行)。
- 注:对目录设置执行权限需要使用 X。
- 数值法:
- 每个数字代表一个访问级别的权限:user、group、other。
- 用八进制数字的 4、2、1 分别代表读取、写入和执行。
- 有经验的管理员通常使用数值权限,简短方便。
更改用户或组所有权
新文件由创建该文件的用户所有,只有 root 用户可以更改文件的用户。
组所有权可以由 root 用户或文件的所有者来设置,root 用户可将文件所有权授予任何组,而普通用户仅可将文件所有权授予他们所属的组。
2 . 管理默认权限和文件访问。
特殊权限
特殊权限构成了除了基本用户、组和其他类型之外的第四种权限类型。
这些权限超出了基本权限类型允许的范畴,提供了额外的访问相关功能。
默认权限
创建新文件或目录时,会为其分配初始权限。有两个因素会影响这些初始权限,第一是创建常规文件还是目录,其次是当前的 umask 值。
如创建新目录,操作系统会为其分配权限 0777 (drwxrwxrwx)。
如果是创建文件,操作系统则为其分配权限 0666 (-rw-rw-rw-)。
shell 会话还会设置一个 umask,进一步限制初始设置的权限,这是一个八进制位掩码,用于清除由该进程创建的新文件和目录的权限。
例如,umask 0002 可清除其他用户的写入位,前导零表示特殊的用户和组权限未被清除 umask 值。