核心是防止任意用户向关键目录写入、篡改或执行恶意内容,需收紧/tmp、/var/log、/etc及web目录权限,启用sticky bit,并结合acl实现精准控制。

限制目录的全局可写权限,核心是防止任意用户(尤其是非授权用户)向关键目录写入、篡改或执行恶意内容。这不仅是基础权限管理,更是阻断提权、后门植入和配置劫持的关键防线。
识别并清理高危全局可写目录
全局可写(即权限含 o+w,如 777、733、622 等)的目录极易被滥用。需重点检查:
-
/tmp 和 /var/tmp:默认常设为 1777(sticky bit + 全局可写),必须保留 sticky bit(
chmod 1777 /tmp),确保用户只能删自己创建的文件;若业务无需全局写入,应改为 755 并由专用服务用户管理。 -
/var/log:日志目录通常不应全局可写。确认属主为
root:syslog或root:adm,权限设为755或750,避免普通用户覆盖或伪造日志。 -
/etc 及其子目录(如
/etc/cron.d、/etc/init.d):必须禁止其他用户写入。标准权限应为755,关键配置文件(如/etc/shadow、/etc/sudoers)须为644或更严(如600)且属主 root。 - Web 服务目录(如
/var/www/html):若需上传功能,不应直接开放全局写,而应使用专用上传目录(如/var/www/uploads),设为750+ 专属组,并将 Web 进程用户(如www-data)加入该组。
用 chmod 与 chown 固化基础权限
对已确认需保护的目录,立即执行最小权限收紧:
- 查当前权限:
ls -ld /path/to/dir - 移除其他用户写权限:
sudo chmod o-w /path/to/dir - 设为安全默认值:
sudo chmod 755 /path/to/dir(仅所有者可写,组和其他用户只读可执行) - 重置属主属组:
sudo chown root:root /path/to/dir;若需组协作,用root:admin并将可信用户加入 admin 组
启用 sticky bit 防止跨用户篡改
对允许多用户协作写入的目录(如 /tmp、团队共享目录),sticky bit 是必备防护:
- 作用:即使目录全局可写,用户也仅能删除或重命名自己创建的文件
- 设置方式:
sudo chmod +t /shared/dir(权限显示为drwxrwxrwt中末位 t) - 验证:
ls -ld /shared/dir,确认最后一位是 t 而非 x
结合 ACL 实现精准写入控制
当标准权限无法满足“仅允许特定用户写”时,ACL 提供单点授权能力:
- 启用 ACL(若未开启):
sudo mount -o remount,acl /(并更新/etc/fstab持久化) - 授权指定用户写权限:
sudo setfacl -m u:deploy:rwx /opt/app/config - 禁止某用户访问:
sudo setfacl -m u:guest:--- /opt/app/config - 查看效果:
getfacl /opt/app/config











