Platform
Ubuntu 24.04
Panel Version
10.12.4
Daemon Version (Optional)
4.12.2
Recurrence Probability
100%
Bug Description
问题描述
当面板以 root 安装或运行时,应用实例在高级设置中启用“使用其他系统用户”,并指定为普通 Linux 用户后,实例进程本身确实会以该普通用户身份启动,但 PTY 控制会报错:
[MCSMANAGER-PTY] Control error: create fifo error: permission denied
从现象上看,目前“使用其他系统用户”这个功能只完成了实例进程用户切换,但没有同步处理 PTY/FIFO 相关运行目录、控制目录或临时目录的权限,导致普通用户无法创建命名管道。
预期行为
启用“使用其他系统用户”后,MCSManager 至少应满足以下之一:
- 自动确保 PTY/FIFO 相关运行目录对目标用户可写
- 由面板侧统一管理 PTY/FIFO,而不是要求实例用户自己创建
- 在切换实例运行用户时自动调整相关目录权限
- 或在文档中明确说明需要额外调整哪些目录权限
实际行为
实例可以启动,但 PTY/FIFO 创建失败,导致控制台交互异常,并出现如下日志:
[MCSMANAGER-PTY] Control error: create fifo error: permission denied
复现步骤
- 使用 root 安装或运行 MCSManager
- 创建一个应用实例
- 在“高级设置”中将“使用其他系统用户”设置为普通 Linux 用户
- 启动实例
- 观察到日志报错:
[MCSMANAGER-PTY] Control error: create fifo error: permission denied
补充说明
这个问题看起来并不是实例本身无法启动,而是“实例进程切换用户”和“PTY/FIFO 运行时权限”之间没有形成完整闭环。
换句话说,目前像是只做了 sudo -u 用户 启动实例,但没有一并处理 PTY/FIFO 所需目录权限,因此这个功能在实际使用中容易出现权限问题。
Platform
Ubuntu 24.04
Panel Version
10.12.4
Daemon Version (Optional)
4.12.2
Recurrence Probability
100%
Bug Description
问题描述
当面板以 root 安装或运行时,应用实例在高级设置中启用“使用其他系统用户”,并指定为普通 Linux 用户后,实例进程本身确实会以该普通用户身份启动,但 PTY 控制会报错:
从现象上看,目前“使用其他系统用户”这个功能只完成了实例进程用户切换,但没有同步处理 PTY/FIFO 相关运行目录、控制目录或临时目录的权限,导致普通用户无法创建命名管道。
预期行为
启用“使用其他系统用户”后,MCSManager 至少应满足以下之一:
实际行为
实例可以启动,但 PTY/FIFO 创建失败,导致控制台交互异常,并出现如下日志:
复现步骤
补充说明
这个问题看起来并不是实例本身无法启动,而是“实例进程切换用户”和“PTY/FIFO 运行时权限”之间没有形成完整闭环。
换句话说,目前像是只做了
sudo -u 用户启动实例,但没有一并处理 PTY/FIFO 所需目录权限,因此这个功能在实际使用中容易出现权限问题。