1. 文件权限管理:限制访问主体
通过精确控制用户、组及其他用户的读(r)、写(w)、执行(x)权限,降低敏感文件被非法访问的风险。
chmod
设置权限(如chmod 600 sensitive_file.txt
仅允许所有者读写,chmod 700 sensitive_directory/
仅允许所有者访问目录);使用chown
更改所有者(如sudo chown user:sensitive_group file.txt
)、chgrp
更改所属组。chmod 777
),尤其是包含敏感信息的文件;定期检查权限设置,确保符合最小权限原则。2. 访问控制列表(ACL):精细化权限分配
当需要对特定用户或组设置特殊权限时,ACL提供比传统权限更灵活的控制。
sudo apt-get install acl
安装ACL工具(Ubuntu默认仓库包含)。setfacl
命令(如setfacl -m u:alice:rwx sensitive_file.txt
允许用户alice读写,setfacl -m g:finance:--- sensitive_file.txt
禁止finance组访问)。getfacl sensitive_file.txt
查看当前ACL设置。3. 强制/基于策略的访问控制:SELinux与AppArmor
通过内核级机制限制进程对敏感文件的访问,即使文件权限被误设,也能提供额外保护。
sudo apt-get install selinux-basics selinux-policy-default
安装,使用semanage
管理安全上下文(如semanage fcontext -a -t sensitive_file_t "/path/to/file"
),用restorecon
应用上下文。sudo apt-get install apparmor apparmor-utils
安装,为应用程序创建配置文件(如/etc/apparmor.d/usr.bin.firefox
),用aa-enforce
启用强制模式(aa-enforce /etc/apparmor.d/usr.bin.firefox
)。4. 文件加密:数据本身的保密性
即使文件被非法获取,加密后也无法直接读取内容,是保护敏感数据的终极手段。
gpg --symmetric --cipher-algo AES256 sensitive_file.txt
生成file.txt.gpg
(需输入密码),解密用gpg --decrypt file.txt.gpg > file.txt
。sudo cryptsetup luksFormat /dev/sdX
(初始化加密分区)、sudo cryptsetup open /dev/sdX my_encrypted_disk
(打开分区)、sudo mkfs.ext4 /dev/mapper/my_encrypted_disk
(格式化)、sudo mount /dev/mapper/my_encrypted_disk /mnt
(挂载)。veracrypt -t -c encrypted_container
),挂载后像普通文件夹一样使用。5. 审计与监控:及时发现异常访问
通过记录文件访问日志,快速定位潜在的安全威胁。
sudo apt-get install auditd
安装auditd(Ubuntu默认审计工具)。auditctl -a exit,always -F arch=b64 -S open -F path=/path/to/sensitive_file -k sensitive_file_access
),监控对敏感文件的打开操作。ausearch -k sensitive_file_access
查看审计日志,或通过/var/log/audit/audit.log
获取详细信息。6. 备份与恢复:防止数据丢失
定期备份敏感文件,确保在加密失败、误删除或系统崩溃时能恢复数据。
rsync
(增量备份,如rsync -avz /path/to/sensitive_files /backup/location
)、tar
(打包压缩,如tar -czvf sensitive_files.tar.gz /path/to/files
)。7. 物理安全:阻断未授权物理访问
敏感文件的安全不仅依赖软件,物理设备的保护同样重要。
8. 定期更新与补丁管理
及时修复操作系统和应用程序的安全漏洞,防止黑客利用漏洞获取敏感文件。
sudo apt update && sudo apt upgrade
定期更新Ubuntu系统及软件包,启用自动更新(sudo apt install unattended-upgrades
),确保系统始终具备最新的安全补丁。