You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让其他用户访问我的tmux会话?权限配置问题求助

如何让其他用户访问我的tmux会话?权限配置问题求助

看起来你遇到了tmux跨用户访问会话的权限难题,别慌,咱们一步步拆解解决。

首先得搞明白:tmux的会话默认是用户隔离的——每个用户的会话都会存在专属的套接字目录里(比如你看到的/tmp/tmux-1003/default就是artem用户的tmux套接字路径),其他用户没有权限访问这个目录,自然看不到你的会话。你之前尝试修改会话权限没效果,大概率是没找对要改的对象——真正控制访问的是tmux套接字文件和它所在目录的文件系统权限。

下面是具体的解决步骤,你可以跟着操作:

方法一:快速临时共享(适合测试场景)

  1. 切换到stop用户,重新创建一个指定共享套接字的会话:
    tmux -S /tmp/shared_nest new -s nest
    
    这里/tmp/shared_nest是咱们指定的公共套接字路径,替代了默认的用户专属路径。
  2. 可以用Ctrl+B, D先 detach 会话,然后修改这个套接字的权限,让其他用户能读写:
    chmod 777 /tmp/shared_nest
    
  3. 切换到artem用户,用这个套接字路径连接会话:
    tmux -S /tmp/shared_nest attach -t nest
    

方法二:安全持久的共享(推荐生产环境使用)

直接给777权限安全性太差,咱们用用户组来精准控制访问范围:

  1. 创建一个专门的tmux共享用户组:
    sudo groupadd tmux-shared
    
  2. 把需要访问会话的用户(stop和artem)加入这个组:
    sudo usermod -aG tmux-shared stop
    sudo usermod -aG tmux-shared artem
    
    注意:这两个用户需要重新登录,组权限才会生效。
  3. 创建一个非临时目录存放共享套接字(避免系统重启后/tmp的文件被清空):
    sudo mkdir /var/tmux
    sudo chgrp tmux-shared /var/tmux
    sudo chmod 770 /var/tmux
    
  4. 切换到stop用户,创建带指定套接字的会话:
    tmux -S /var/tmux/nest new -s nest
    
  5. 设置套接字的组权限:
    chgrp tmux-shared /var/tmux/nest
    chmod 770 /var/tmux/nest
    
  6. artem用户现在可以用下面的命令连接:
    tmux -S /var/tmux/nest attach -t nest
    

额外小技巧

如果你不想重新创建已有的会话,可以先detach会话,然后用move-socket命令把套接字移到共享路径,再调整权限:

tmux move-socket -t nest /var/tmux/nest

需要提醒的是:artem用户连接后,在会话里执行的命令会继承stop用户的权限,这点要注意安全风险。

备注:内容来源于stack exchange,提问作者Ігор Підлужний

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:14:31