Назад | Перейти на главную страницу

Как изменить разрешения на перенаправленный ssh-сокет домена unix

рассмотрим команду 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 ).