一、文件存取控制方法
存取控制矩阵
- 是一种以二维矩阵形式表示权限的模型,行代表用户,列代表文件,矩阵中的每个元素表示某用户对某文件的访问权限(如读、写、执行)。
- 优点:概念直观清晰。
- 缺点:当系统中用户和文件数量庞大时,矩阵将非常稀疏,占用大量存储空间,且查找效率低。
存取控制表(Access Control List, ACL)
- 实际是按文件为单位维护的权限列表,记录哪些用户或用户组对该文件有哪些权限。
- 在 UNIX 系统中,采用简化方式:将用户分为三类——
- 文件主(Owner)
- 同组用户(Group)
- 其他用户(Others)
- 每类分配 3 种权限:R(读)、W(写)、X(执行),共 9 位二进制位,对应
ls -l命令输出的前 9 个字符(如-rwxr-xr--)。 - 这些权限信息存储在文件的索引节点(inode)的
di_mode字段中。
用户权限表(Capability List)
- 以用户或用户组为中心,列出该用户可以访问的所有文件及其对应权限。
- 可看作是存取控制矩阵中“某一行”的提取与优化,提升了特定用户的权限查询效率。
密码控制
- 在创建文件时使用加密算法对文件内容进行加密,只有知道正确密码的人才能解密并读取文件。
- 适用于保护高度敏感数据,但管理多个密码较复杂,且无法防止非法复制(一旦解密即暴露)。
二、系统的安全与可靠性
系统安全的管理级别通常分为四级:
系统级安全
- 目标:防止未经授权的用户进入系统。
- 措施:用户注册、身份认证(用户名/密码)、登录控制、多因素认证等。
用户级安全
- 目标:区分不同用户的权限范围。
- 措施:用户分类(如超级用户 root、系统操作员、普通用户),并基于角色分配权限;UNIX 中通过文件主/组/其他机制实现。
目录级安全(资料未详述)
- 预计涉及目录的访问控制,如限制目录浏览、修改、删除等操作,保护目录结构完整性。
文件级安全(资料未详述)
- 包括对单个文件设置权限、加密、版本控制、审计日志等,确保文件内容不被非法访问或篡改。
在 UNIX 系统中,chmod(change mode)命令用于修改文件或目录的权限,即控制“文件主、同组用户、其他用户”三类用户的读(R)、写(W)、执行(X)权限。这些权限由 9 位二进制位表示,分为三组,每组 3 位:
- 包括对单个文件设置权限、加密、版本控制、审计日志等,确保文件内容不被非法访问或篡改。
- 前三位:文件主(User)权限 —
rwx - 中间三位:同组用户(Group)权限 —
rwx - 后三位:其他用户(Others)权限 —
rwx
一、chmod 的两种使用方式
1.符号模式(Symbolic Mode)
语法:
chmod[who][operator][permissions]文件名who(用户类别):
u:文件主(user)g:同组用户(group)o:其他用户(others)a:所有人(all,默认)
operator(操作符):
+:增加权限-:去除权限=:精确设置权限
permissions(权限):
r:读w:写x:执行
示例:
chmodu+x file.txt# 给文件主添加执行权限chmodgo-w file.txt# 去除同组和其他用户写权限chmoda=r file.txt# 所有人只有读权限chmodu=rwx,g=rx,o=r file.txt# 分别设置三类用户的权限2.数字模式(Octal Mode)
使用八进制数表示权限,每位对应一组权限(u/g/o),每一位是三个权限位的数值和:
| 权限组合 | 二进制 | 八进制 |
|---|---|---|
| rwx | 111 | 7 |
| rw- | 110 | 6 |
| r-x | 101 | 5 |
| r– | 100 | 4 |
| — | 000 | 0 |
格式:
chmodxyz file.txtx:文件主权限(u)y:同组用户权限(g)z:其他用户权限(o)
示例:
chmod755script.sh# 解释:7 = rwx, 5 = r-x, 5 = r-x → -rwxr-xr-xchmod644config.txt# 解释:6 = rw-, 4 = r--, 4 = r-- → -rw-r--r--chmod700private.sh# 解释:仅文件主有读写执行权限 → -rwx------二、实际应用建议
- 脚本文件通常设为
755:作者可改,其他人只能运行。 - 配置或敏感文本文件设为
600或640,防止泄露。 - 目录必须有
x权限才能进入。
⚠️ 注意:只有文件主或超级用户(root)可以使用
chmod修改文件权限。