最小权限原则要求用户和进程仅拥有必要权限。创建独立账户、限制sudo权限、设置专用服务账户并禁用登录;合理配置文件权限如600/750,禁用全局可写;服务以非root用户运行,通过systemd指定User/Group;利用sudo精细化授权,记录操作日志;需定期审计与监控,结合aiDE、auditd持续维护安全。
在linux系统管理中,最小权限原则是安全实践的核心。它的核心思想是:每个用户、进程或程序只应拥有完成其任务所必需的最低权限。遵循这一原则能显著降低安全风险,防止误操作和恶意攻击扩大影响范围。以下是具体实践方法。
用户权限管理
为不同角色创建独立账户,避免所有人使用root操作。
- 普通用户默认不应具备sudo权限,需明确授权特定命令
- 通过
useradd
创建专用服务账户,禁止登录(使用/usr/sbin/nologin
作为shell) - 定期审查
/etc/passwd
和/etc/shadow
中的账户状态
文件与目录权限控制
合理设置文件权限可防止未授权访问或篡改。
- 使用
chmod
限制敏感文件权限,如配置文件设为600,目录设为750 - 通过
chown
确保文件归属正确,避免多个用户共用所有权 - 禁用全局可写权限(如
chmod o-w
),特别是/tmp
以外的目录
服务与进程降权运行
后台服务不应以root身份长期运行。
- Web服务器(如nginx、apache)应配置为专用用户(如www-data)运行
- 数据库服务(如mysql)使用独立账户启动,限制其对系统其他部分的访问
- 使用
systemd
服务单元中的User=
和Group=
字段指定运行身份
利用sudo精细化授权
替代直接共享root密码,通过sudo实现可控提权。
- 编辑
/etc/sudoers
使用visudo
命令,防止语法错误 - 按需分配命令权限,例如允许运维人员重启服务但不能修改系统配置
- 启用日志审计(
Defaults logfile
)记录所有sudo操作
最小权限不是一次性设置,而是持续维护的过程。结合定期审计、日志监控和自动化检查工具(如AIDE、auditd),能有效发现权限异常。基本上就这些,关键在于坚持执行。