Linux 权限别再 chmod 777:读懂目录执行位、umask 与 ACL

Linux 文件权限与访问控制

服务报出 Permission denied 时,最省事的处理似乎是 chmod -R 777。它往往能暂时消除报错,也同时把读、写、执行能力交给了所有本地用户;更麻烦的是,真正缺失的权限可能位于父目录、进程身份或 ACL,放开目标文件只是在掩盖原因。理解 Linux 如何逐层判断访问权,才能给出刚好够用的权限。

Read More

把文件上传入口守住:限额、识别、隔离与安全发布

安全文件上传管线

头像、附件和数据导入看起来只是“接收一个文件”,实际上却把磁盘、解析器和下载域名同时暴露给了不可信输入。只检查扩展名或请求头,挡不住伪装类型、超大文件、路径穿越和带主动内容的文档。稳妥的设计不是再补一个判断,而是建立一条先隔离、后验证、最后发布的管线。

Read More

Linux 内存告警别只看 free:RSS、PSS、Page Cache 与 OOM 排查

Linux 内存排障封面

服务器提示“内存快满了”,第一反应往往是找出 RSS 最大的进程,甚至直接重启服务。但 Linux 会主动利用空闲内存缓存文件,同一份共享页也可能被重复计入多个进程。先分清指标含义,再沿着系统、cgroup、进程三层收集证据,才能判断是正常缓存、真实泄漏,还是容器限额过小。

Read More

把事务并发做对:隔离级别、锁与冲突重试

数据库事务并发控制

事务能保证一组操作一起成功或失败,却不等于并发执行时业务结果一定正确。两个请求同时读库存、计算新值再写回,即使都提交成功,也可能覆盖彼此的修改。解决这类问题,关键不是机械地把隔离级别调到最高,而是先写清业务不变量,再为具体冲突选择原子更新、锁或版本检查。

Read More