tmux共享套接字提示‘access not allowed’权限问题求助
问题原因及解决方法
核心原因
你猜测的/tmp目录sticky bit并非问题根源——sticky bit仅限制用户删除其他用户的文件,不影响读写权限。真正的问题是tmux默认仅允许创建会话的用户(此处为bob)访问会话,即便套接字文件的组权限已开放,tmux内部的访问控制列表(ACL)仍会拒绝其他用户的连接请求,除非显式授权。
解决步骤
1. 在Bob的会话中添加授权
Bob需要在自己的tmux会话里,执行以下命令授权multiplexer组的所有用户访问:
tmux -S /tmp/our_socket set -g allow-group multiplexer
若仅需授权alice单个用户,可执行:
tmux -S /tmp/our_socket set -g allow-user alice
2. 验证连接
完成授权后,Alice再执行原连接命令即可正常访问:
tmux -S /tmp/our_socket attach -t our_session
3. (可选)永久配置
若希望后续创建的会话默认开放组权限,可在Bob的~/.tmux.conf中添加以下配置:
set -g allow-group multiplexer
此后创建的会话会自动应用该授权规则。
补充说明
tmux的套接字文件权限属于系统层访问控制,而allow-user/allow-group是tmux自身的会话访问控制,两者需同时满足才能正常连接。你之前仅配置了系统层的套接字权限,未设置tmux内部的授权规则,因此Alice无sudo权限时会被拒绝;而sudo是以root身份绕过了tmux的ACL检查,所以能成功连接。
内容的提问来源于stack exchange,提问作者Thomas Grusz
相关产品推荐
相关产品推荐

