首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务:步骤命名空间失败-权限被拒绝

服务:步骤命名空间失败-权限被拒绝
EN

Server Fault用户
提问于 2021-05-19 07:50:34
回答 2查看 593关注 0票数 3

在工作时,我试图在Debian buster上使用舵服务器,webapp运行良好,但其中一个舵服务不起作用,我无法从其他节点接收报告:

代码语言:javascript
复制
● rudder-relayd.service - Rudder Relay Daemon
   Loaded: loaded (/usr/lib/systemd/system/rudder-relayd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2021-05-19 09:21:32 CEST; 1min 28s ago
  Process: 32493 ExecStart=/opt/rudder/bin/rudder-relayd (code=exited, status=226/NAMESPACE)
 Main PID: 32493 (code=exited, status=226/NAMESPACE)

May 19 09:21:32 rudder-v3 systemd[1]: Started Rudder Relay Daemon.
May 19 09:21:32 rudder-v3 systemd[32493]: rudder-relayd.service: Failed to set up mount namespacing: Permission denied
May 19 09:21:32 rudder-v3 systemd[32493]: rudder-relayd.service: Failed at step NAMESPACE spawning /opt/rudder/bin/rudder-relayd: Permission denied
May 19 09:21:32 rudder-v3 systemd[1]: rudder-relayd.service: Main process exited, code=exited, status=226/NAMESPACE
May 19 09:21:32 rudder-v3 systemd[1]: rudder-relayd.service: Failed with result 'exit-code'.

我的Debian破坏程序是Proxmox服务器上的容器(而不是非特权容器),所有内容都是最新的,我更改了服务的配置,但没有成功:

代码语言:javascript
复制
# vi /usr/lib/systemd/system/rudder-relayd.service
[Unit]
Description=Rudder Relay Daemon
After=network-online.target

[Service]
PrivateTmp=false
NoNewPrivileges=yes
PrivateDevices=false
ProtectControlGroups=false
ProtectKernelModules=false
ProtectSystem=false
ReadWritePaths=/var/rudder/reports /var/rudder/inventories /var/rudder/shared-files /var/rudder/cfengine-community/state
ExecStart=/opt/rudder/bin/rudder-relayd
ExecReload=/opt/rudder/bin/rudder relay reload
# Do not restart on known errors, which won't get fixed by themselves
RestartPreventExitStatus=2 3
User=rudder-relayd
Group=rudder

[Install]
RequiredBy=rudder-server.service
WantedBy=multi-user.target

当我执行“/opt/舵/bin/舵-中继”时,我没有任何错误:

代码语言:javascript
复制
 INFO relayd: Starting rudder-relayd 6.2.7
 INFO relayd: Read configuration from "/opt/rudder/etc/relayd/"
 INFO relayd::data::node: Parsing nodes list from "/var/rudder/lib/relay/nodeslist.json"
 INFO relayd::api: Starting API on 127.0.0.1:3030
 INFO relayd::input::watch: Starting file watcher on "/var/rudder/reports/incoming"
 INFO relayd: Skipping inventory as it is disabled
 INFO relayd: Server started

目录的权利是:

代码语言:javascript
复制
# ls -al /opt/rudder/bin/
[..]
-rwxr-xr-x  1 root root 8429816 Nov 22  2017 rudder-relayd
[..]

所有其他舵服务工作良好,我甚至可以访问我的管理帐户的舵界面。我已经能够接受挂起的节点,但是如果方向舵中继服务关闭,我无法接收遵从性报告,这条消息显示:

代码语言:javascript
复制
Error occured when contacting internal remote-run API to apply classes on Node 'root': (HTTP code 503)

我的测试摘要:

  • 更改方向舵-继电器。服务配置,只添加行"PrivateTmp=false\NoNewPrivileges=yes“;
  • 不是直接更改服务文件配置,而是用systemctl编辑舵-Relayd.service覆盖它。
  • 在对该文件进行每次更改后,我将使用"systemctl守护进程-重新加载“重新加载守护进程;
  • 在另一个具有相同选项的容器上安装舵(仍然是相同的错误),在一个没有特权的容器上安装舵(此错误停止,但出现其他错误,我不希望这是解决方案);

谢谢

EN

回答 2

Server Fault用户

回答已采纳

发布于 2021-05-19 08:31:09

我认为您应该在主机上使用lxc启用嵌套模式,我认为使用以下命令:

代码语言:javascript
复制
lxc config set <id> security.nesting true
票数 4
EN

Server Fault用户

发布于 2021-05-19 08:36:39

您可以尝试禁用依赖名称空间的强化选项,即ProtectSystemReadWritePathsPrivateTmp

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1064066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档