我编写了一个 API,希望能够直接在用户的计算机上编写。该 API 已经能够推送到 git 存储库,但我希望采用更直接的方式。
为此,我正在编写一个 rabbitmq worker,每个用户都必须安装。我计划每个用户使用 1 个 rabbitmq 登录名。每个用户也使用 1 个 rabbitmq 通道。我想阻止用户写入彼此的 rabbitmq 队列。
工作器将通过 启动my-worker-ctl start $userName $userKey
。用户可以指定工作器可以在哪些文件夹中工作,例如my-worker-ctl set-project-root $myProjectName $folder
。
创建项目的文件夹通常归$USER
或www-data
组所有。
我想知道是否有办法限制工作人员只能访问其安装目录和注册目录(my-worker-ctl set-project-root
)。我的目标是防止 API 写入用户的其他文件夹,以防 API 被破坏。通过这样做,API 不会成为安全漏洞。
PS:客户端仅适用于Linux操作系统,我不会为其他操作系统制作工作版本。