最小权限原则要求用户和进程仅拥有必要权限,避免赋予root权限,通过sudo提权并限制命令,服务账户禁止登录且权限最小化;定期审查sudoers文件,删除无用账户,禁用root直接登录,强密码策略由pam_pwquality实现,usermod -s /sbin/nologin限制服务账户登录;文件权限遵循u/g/o模型,敏感文件设600,禁用chmod 777,用find查找SUID/SGID文件;使用setfacl/getfacl配置ACL增强控制,启用SElinux或appArmor实现mac,结合auditd监控关键文件变更;定期审计账户与权限,禁用冗余功能,提升系统安全性。

linux系统中用户和权限管理是保障系统安全的核心环节。合理配置用户账户、权限分配和访问控制,能有效降低未授权访问和误操作带来的风险。以下是一些关键的安全最佳实践。
最小权限原则
每个用户和进程应仅拥有完成其任务所必需的最低权限。
- 避免为普通用户赋予root权限,必要时使用sudo临时提权,并严格限制可执行的命令。
- 服务账户应使用专用用户运行,禁止登录,且不赋予多余权限。
- 定期审查sudoers文件(/etc/sudoers),确保只有授权用户在其中。
合理管理用户账户
保持用户账户的精简与可控,防止僵尸账号或滥用。
- 及时删除或禁用不再使用的用户账户,尤其是离职人员或测试账户。
- 禁止直接使用root登录,应通过普通用户su或sudo切换。
- 设置强密码策略,强制使用复杂密码并定期更换,可通过pam_pwquality模块实现。
- 使用usermod -s /sbin/nologin限制服务账户的交互式登录。
文件和目录权限控制
正确设置文件权限,防止敏感信息泄露或被篡改。
- 遵循标准权限模型:用户(u)、组(g)、其他(o),优先使用644(文件)和755(目录)等安全默认值。
- 敏感文件如/etc/shadow、ssh私钥等应设为600,仅属主可读写。
- 避免使用chmod 777,这会开放所有权限,极易被利用。
- 定期检查异常权限,可用find / -type f ( -perm -4000 -o -perm -2000 ) 2>/dev/NULL查找SUID/SGID文件。
使用访问控制列表(ACL)和额外安全机制
在标准unix权限基础上增强控制粒度。
- 对需要精细权限的场景,使用setfacl和getfacl配置ACL。
- 启用SELinux或AppArmor,实现强制访问控制(MAC),限制进程行为。
- 结合审计工具auditd监控关键文件和权限变更,及时发现异常。
基本上就这些。坚持最小权限、定期审计账户与权限、禁用不必要的功能,就能大幅提升系统的安全性。细节决定成败,别让一个宽松的权限毁掉整体防线。


