Forcecommand дает странные результаты с Tmux
Я пытаюсь настроить сопряжение с tmux (специально для wemux). Я настроил пару пользователей в моей системе и могу соединить ssh в пару и подключиться к сеансу tmux вручную. Однако, когда я установил Forcecommand в блоке Match для автоматического подключения к tmux при входе в систему, он не может сказать, что нет сеанса tmux для подключения.
Разрешения установлены на 777 на сокете.
Я на OsX Mountain Lion, если это поможет.
Есть идеи?
1 ответ
Если другой участник использует другую учетную запись пользователя, вам необходимо указать путь к сокету, к которому вы хотите подключиться, с помощью -S /path/to/some/socket
флаг. Этот же флаг можно указать при создании сервера tmux.
Это связано с тем, что если вы не укажете путь к сокету вручную, для сокета по умолчанию будет указано /tmp/tmux-[USER ID]/default
как вы можете видеть в исходном коде tmux. Это означает, что это отличается для каждой учетной записи пользователя.
Совет: вам не следует устанавливать сокет на 777, так как это позволяет любому пользователю системы подключаться к сеансам в ней и выполнять команды в выполняющейся оболочке. Это, скорее всего, вызывает серьезную дыру в безопасности.
Одной из идей иметь простую настройку было бы создание группы, содержащей всех пользователей, которым разрешено присоединяться к серверу tmux, и установить ее в качестве группы-владельца сокета при установке режима на 770.