рассмотрим команду ssh:
sudo ssh -L /my/local/sock:/var/remote_socket me@remote
Он работает как root, поэтому созданный локальный сокет домена unix имеет права собственности root и 0600.
Как мне сказать ssh создать сокет с более широкими разрешениями?
Использовать StreamLocalBindMask
вариант:
StreamLocalBindMask Sets the octal file creation mode mask (umask) used when creating a Unix-domain socket file for local or remote port forwarding. This option is only used for port forwarding to a Unix-domain socket file. The default value is 0177, which creates a Unix-domain socket file that is readable and writable only by the owner. Note that not all operating systems honor the file mode on Unix-domain socket files.
Для сокета, открытого для любого пользователя:
sudo ssh -o StreamLocalBindMask=0111 -L /my/local/sock:/var/remote_socket me@remote
(или просто =0
).