我创建了一个可以登录和注销的会话,但其他用户甚至看不到它,我尝试更改会话的权限,但没有任何反应
artem@server:/home/stop$ tmux ls
no server running on /tmp/tmux-1003/default
stop@server:~$ tmux ls
nest: 1 windows (created Thu May 30 17:56:44 2024)
Ubuntu 24.04 LTS(GNU/Linux 6.8.0-31-通用 x86_64)
我创建了一个可以登录和注销的会话,但其他用户甚至看不到它,我尝试更改会话的权限,但没有任何反应
artem@server:/home/stop$ tmux ls
no server running on /tmp/tmux-1003/default
stop@server:~$ tmux ls
nest: 1 windows (created Thu May 30 17:56:44 2024)
Ubuntu 24.04 LTS(GNU/Linux 6.8.0-31-通用 x86_64)
TL;DR - 这与服务器套接字使用的路径和权限有关
tmux
。正如您所看到的,默认情况下,
tmux
服务器套接字存储在目录 中/tmp/tumx-$UID/default
,其中$UID
是 4 位用户 ID。因此,当您
tmux ls
以 user1003
(artem
) 身份运行时,它将查看默认套接字/tmp/tmux-1003/default
。如果服务器是使用另一个用户(假设是 user
1002
)创建的,则必须指定套接字路径,如下所示:您还可以在创建会话时将套接字路径指定为与用户无关
tmux
,如下所示:然后附加到它:
如果您仍然遇到权限问题,请尝试以下更详细的步骤。
更详细的解决方案
受此答案的启发,我建议您创建一个特定的
tmux
组,并将服务器套接字定向到具有该组权限的目录。所以首先添加一个
tmux
组:/var/tmux
为该组创建一个目录(您可以在其中直接tmux
套接字),分配该组并设置适当的权限:将您想要有权访问共享
tmux
会话的用户添加到tmux
组中:现在您可以使用以下命令创建共享会话:
从另一个帐户附加到它: