无法重新启动 tmux 会话 - 无法取消链接 tmux 套接字文件

无法重新启动 tmux 会话 - 无法取消链接 tmux 套接字文件

我在用多路复用器创建一个共享会话在 /tmp 中称为 tekkit。

一切正常,但有一个重大例外。 当 tmux 会话关闭时,/tmp/tekkit 套接字文件仍保留在原处。这是一个大问题,目前除了该套接字文件的所有者之外,没有人可以再次启动此会话

运行命令:tmux -S /tmp/tekkit new -d sh TekkitLaunch.sh

向所有其他用户提供:error connecting to /tmp/tekkit (Operation not permitted)

所有用户都属于同一组,并且对套接字文件具有完整的 rwx 权限。

通常,我会在关闭会话后取消链接套接字文件,但这也不起作用,因为只有文件所有者才能取消链接。所有其他用户,即使拥有必要的权限,也无法取消链接,并会出现以下错误:unlink: cannot unlink '/tmp/tekkit': Operation not permitted

我像这样取消文件链接:unlink /tmp/tekkit

我的问题是:

我做错了什么以及我该怎么做:

A) 让套接字文件保持原样,但能够在第一个会话关闭后与另一个用户启动新会话。

二) 取消套接字文件与文件所有者以外的其他用户的链接。

这两种解决方案都需要在没有超级用户访问权限的情况下工作!

感谢您的帮助。

答案1

中的符号链接/tmp只能由符号链接所有者跟踪

乌班图维基

在 Ubuntu 10.10 及更高版本中,无法遵循全局可写粘性目录(例如 /tmp)中的符号链接如果追随者和目录所有者与符号链接所有者不匹配。


这两种解决方案都需要在没有超级用户访问权限的情况下工作!

据我所知,这是不可能的。

禁用此安全功能的唯一方法是禁用protected_symlinks(这具有安全隐患,因此root是必要的)

或者通过

sysctl -w fs.protected_symlinks=0

或者通过添加fs.protected_symlinks=0到文件中/etc/sysctl.d或直接编辑/etc/sysctl.conf

相关内容