UNIX socket permission bits
- 主要言語
- Python
- スター
- 16.5k
- フォーク
- 2.4k
- 平均マージ
- 17時間 22分
- マージ済み PR(30日)
- 212
説明
I want to use a unix socket, but it's impossible when umask is 0022 or more strict, because the nginx `www-data` user can't connect and prints "Permission denied" error. I want to change the permission bits for the unix socket without touching umask (a strict umask is needed for other things of my project).
There was a PR https://github.com/aio-libs/aiohttp/pull/4002, but it's closed.
I tried to chmod after `on_startup` signal:
```python
class MyApp:
def __init__(self, config):
self.config = config
self.webapp = web.Application()
self.webapp.on_startup.append(self._on_startup)
# ...
def run_app(self):
web.run_app(
self.webapp,
path=self.config.unix_socket,
# ...
)
async def _on_startup(self, webapp):
os.chmod(self.config.unix_socket, self.config.unix_socket_mode)
```
But the `on_startup` signal is called *before* creating the socket, and `os.chmod` raises "No such file or directory: 'webapp.sock'" error.
Please implement an option for this or explain how to do it with the current version of aiohttp
Or maybe add `on_listen` signal? :)
コントリビューションガイド
評価
この issue はまだ評価されていません。