Unix 套接字提供本地通信,名称与访问规则仍须明确
Unix 域套接字提供本地进程间通信,无须 IP 地址、TCP 端口或外部网络路由。它仍使用内核套接字设施、缓冲区、调度和应用协议。路径套接字具有文件系统名称,但 Unix 套接字也可以没有名称,Linux 还支持抽象名称。这些形式具有不同访问规则,因此“Unix 套接字就是一个受权限保护的文件”并不是完整解释。 Linux 路径访问同时要求目录可搜索与套接字可写。原文的 UID 65534 样本对比父目录/套接字权限 0755/0600、0755/0666 和 0700/0666。关闭监听器会留下遗留路径;只有确认拥有该遗留路径后才清理,并验证替代监听器返回 restarted。宽松的 0666 仅用于实验隔离检查,不是生产建议。 仅示意选定的原文机制;本轮没有执行示例。 坏掉的样子 应用找得到套接字路径,却可能因为监听已经退出而无法连接。关闭路径套接字,不会自动删除对应文件系统条目。重启时直接绑定相同路径,便可能得到 EADDRINUSE,即使那里已经没有服务接受连接。文件存在是有用诊断信息,但不能作为健康检查;要知道服务是否可用,仍需要真实通信与预期应用响应。 ...