我正在用 运行 nginx listen unix:/tmp/foo.sock;
。
不幸的是,该套接字由 root 拥有,并且是全世界可写/可读的:
srw-rw-rw- 1 root root 0 Apr 11 00:37 /tmp/foo.sock
虽然我希望它由 nginx 用户拥有(www-data
例如)并具有模式srw-rw----
。
我没有找到任何相关内容在 nginx 文档中。Google 只告诉我有关后端套接字(例如 php-fpm)的信息。
答案1
由于它是文件系统上的一个对象,因此我会使用标准文件系统工具。我不确定这是否可行,但至少值得一试。您应该决定文件权限,这只是一个例子 - 所有者和组完全读/写访问权限似乎很合理,不确定是否也需要执行,即 770。
chown nginx:www-data /tmp/foo.sock
chmod 660 /tmp/foo.sock
当您尝试新事物时,备份是您的好朋友。
答案2
最近我把 nginx 套接字放到了一个“私有”目录中。这样 nginx 本身和属于 nginx 组的用户都可以使用该套接字。