面试题答案
一键面试1. 基于访问控制列表(ACL)
- 权限设置:在目录层次结构中,每个目录和文件都可配备一个访问控制列表。该列表详细记录了不同用户或用户组对该对象的具体访问权限,如读(R)、写(W)、执行(X)。例如,对于一个项目目录,项目组成员的用户组可能被赋予读、写和执行权限,而其他用户组可能仅被赋予读权限。
- 层次体现:子目录通常会继承父目录的ACL,除非显式设置不同的ACL。这确保了整个目录层次结构的权限管理具有一致性和继承性。例如,在一个公司部门的主目录下的所有子目录,默认情况下部门成员都具有相同的访问权限。
2. 基于用户身份和组身份的权限分配
- 权限设置:将用户划分为不同的组,每个组具有特定的权限。例如,系统管理员组可能对整个文件系统拥有完全控制权限,而普通用户组对某些敏感目录只有只读权限。用户的权限基于其所属的组来确定。
- 层次体现:在目录层次结构中,不同层次的目录可以根据需求分配给不同的用户组。例如,系统配置文件所在的目录只对管理员组开放写权限,普通用户组只能读取。而用户个人的主目录只有用户自身及其所属的特定组(如家庭成员组,可共享某些文件)具有相应权限。
3. 目录所有权与权限分离
- 权限设置:每个目录有一个所有者,所有者对目录拥有特定的管理权限,如可以更改权限设置等。同时,除所有者外,还可以为其他用户或用户组设置访问权限。例如,一个网站项目目录,网站管理员是所有者,他可以决定开发团队成员具有读写权限,而运维团队成员只有读和执行权限。
- 层次体现:在目录层次结构中,顶层目录的所有者可能是系统管理员,管理员可以根据需要将子目录的所有权转移给合适的用户或组,并相应设置权限。如将一个新开发项目的根目录所有权赋予项目负责人,负责人再为团队成员设置具体权限。
4. 特殊权限设置
- Set - UID和Set - GID
- 权限设置:Set - UID(SUID)允许用户以文件所有者的权限执行该文件,Set - GID(SGID)允许用户以文件所属组的权限执行该文件。例如,passwd命令设置了SUID权限,普通用户执行该命令时,可修改自己的密码,尽管密码文件对普通用户没有写权限,因为执行时是具有root权限(passwd文件所有者通常是root)。
- 层次体现:在目录层次结构中,这种特殊权限通常设置在一些系统关键的可执行文件所在目录,确保特定功能可以在受限权限下正确执行,同时保障系统安全性。
- 粘滞位(Sticky Bit)
- 权限设置:粘滞位应用于目录时,只有文件所有者、目录所有者或root用户才能删除或重命名该目录下的文件,即使其他用户对该目录有写权限。例如,在/tmp目录(通常所有用户都有读写权限)设置粘滞位,防止用户误删除或恶意删除其他用户放在该目录下的临时文件。
- 层次体现:常见于公共可写目录,保障目录内文件的安全性,在整个目录层次结构中,特定的公共区域通过粘滞位来实现特殊的安全控制。