问题标签 [apparmor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - OpenCPU - 设置 rlimit 失败。ENOSYS
我已经在 Ubuntu 服务器上安装了 OpenCPU - Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64) - 一切运行良好,没有任何问题。在这里,我想说我真的很喜欢这个 API,我非常感谢致力于它的人们(我认为主要是 Jeroen Ooms)所做的所有努力。现在我再次安装它,但在另一个提供商托管的另一个服务器上。它也是一个 Ubuntu 服务器 - Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-042stab093.4 x86_64) - 因此我希望它能够像以前一样顺利运行。但现在我有一个问题。安装并启动服务后,我想通过浏览器检查一切是否正常。所以我就像http://xxx.xxx.xxx.xxx/ocpu在我的其他服务器上一样打开。这次我的浏览器没有显示 OpenCPU API Explorer,而是显示以下消息:
服务器只有 1GB 的物理内存,所以我认为将“rlimit.as”更改为 1e9 而不是标准的 2e9 可以解决问题(我也尝试了 750000000 和 500000000),但没有任何帮助(当然我重新启动了服务 opencpu每次更改后再次)。我也认为这不是问题,因为我猜当操作使用超过 1 GB 时服务器会使用虚拟内存。我认为问题与 RAppArmor 有关。所以我尝试禁用它并重新启动opencpu,但问题并没有消失:
$ sudo aa-disable usr.bin.r 禁用 /etc/apparmor.d/usr.bin.r。回溯(最后一次调用):文件“/usr/sbin/aa-disable”,第 30 行,在 tool.cmd_disable() 文件“/usr/lib/python3/dist-packages/apparmor/tools.py”,行148,在 cmd_disable raise apparmor.AppArmorException(cmd_info[1]) apparmor.common.AppArmorException: '警告:无法在 /proc/mounts 中找到合适的 fs,是否已挂载?\n使用 --subdomainfs 覆盖。\n'
那么有谁知道这里的问题可能是什么,或者有什么建议可以在哪里寻找解决方案(我已经尝试过谷歌,但没有发现任何有用的东西)?
我认为以下任何内容都不是问题的原因,但由于我不确定,我还是添加了这些警告:
我在 OpenCPU 安装过程中遇到的唯一奇怪的事情是这个消息(出现了 4 次):
但后来它说:
此外,当我尝试单独安装 RAppArmor 时,收到以下警告:
perl: 警告: 请检查您的语言环境设置:LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = (unset) 是否支持并安装在您的系统上。perl:警告:回退到标准语言环境(“C”)。语言环境:无法将 LC_CTYPE 设置为默认语言环境:没有这样的文件或目录 语言环境:无法将 LC_ALL 设置为默认语言环境:没有这样的文件或目录 选择以前未选择的包 r-cran-rapparmor。
还有这个:
警告:在 /proc/mounts 中找不到合适的 fs,是否已安装?\n使用 --subdomainfs 覆盖。\n
提前致谢!
r - Rmpi、OpenCPU 和 Apparmor:拒绝“/”请求
我有一个 R 包,它通过 Rmpi 包向我运行的 OpenMPI 集群发送作业。在从控制台运行的 R 会话中,一切都按预期工作。但是,当我尝试像这样从我的 OpenCPU 服务器执行相关功能时(更改了细节以保护无辜者):
我收到此错误:
(包中的其他非集群调用函数可以通过 OpenCPU 正常工作)。我注意到apparmor/var/log/kern.log
的各种请求DENIED
,我已经能够通过添加条目来解决其中的大部分请求,/etc/apparmor.d/opencpu.d/custom
以允许 OpenMPI 访问它需要的文件。但是,我无法解决与“打开”位置请求相关的这两个问题(同样,IP 地址已更改)"/"
:
将此添加到我的 apparmor 规则没有帮助:
两个问题:
- 为什么opencpu 试图从我的根目录中读取(或者这是否意味着别的)?
- 更紧迫的是,我该如何解决这个 apparmor 问题?
谢谢。
python - Apparmor 配置文件无法运行 whoami
我有一个在虚拟环境中运行的 Python 应用程序,我正在尝试为它构建一个 apparmor 配置文件。它有一个如下所示的包装器:
因此,我们始终确保在开始之前对正确的用户执行 sudo。但是,即使使用 sudo 和 whoami 我在 ux 上运行(如下所示,是的,我知道 ux 不好/不安全),whoami 仍然无法获得正确的用户 ID。
和错误:
因为它无法确定我正在运行的用户,所以它无论如何都需要事实,然后抱怨,因为事实不能 sudo。whoami 需要什么 apparmor 设置才能正确运行?
python - 在 apparmor 配置文件下加载 Django 应用程序的设置
所以我们有一个 django 应用程序,它需要一个 apparmor 配置文件(客户端授权)。它在位于/opt/fact-virtual-environment
. 应用程序本身安装到/usr/share/fact
以下是我目前的个人资料(主要使用 aa-genprof 工具构建):
...并且该/usr/bin/fact
命令是一个简单的包装器:
我已经启用了很多我知道我不需要的读取权限,比如/usr/local/lib/*
调试尝试中的整个设置。整个事情让我印象深刻的是,当我运行service apparmor reload
(或重新启动)时,我的配置文件似乎没有重新加载。如果我重新启动服务而不是aa-complain usr.bin.fact
紧随其后,我似乎会得到不同的结果aa-enforce usr.bin.fact
。
现在,当我运行命令并检查系统日志时,我看到以下内容:
..和我的python应用程序barfs:
它正在寻找的设置文件位于/usr/share/fact/fact/settings/staging.py
我完全不明白为什么我不能让这个应用程序在它的 apparmor 配置文件下运行。配置文件中的设置应该允许它。这是怎么回事?
python - 如何为使用 Python 的 twisted 库运行的应用程序创建 apparmor 配置文件?
我正在尝试为可以访问 ssh 并使用 Python 的扭曲库运行的网络应用程序创建一个 apparmor 配置文件。我尝试使用 aa-genprof 生成配置文件。在另一个 bash 中,我使用一些测试用例运行我的应用程序。但是,不会生成任何规则。如何生成配置文件?
mysql - MySQL:/home/* 文件夹中的 INTO OUTFILE csv (Errcode:13)
我想将 CSV 导出到 /home/test/log/a/logfile.csv。
其实我正在使用
现在我明白了
无法创建/写入文件“/home/test/log/a/logfile.csv”(错误代码:13)
我已经试过把
和
进入 /etc/apparmor.d/usr.sbin.mysqld 并为其他人提供 /home/test/log/a rwx,但没有任何效果。有什么建议么?
docker - 如何在 docker 容器中允许 ptrace
环顾四周,我发现我可以使用
这也允许访问任何用户拥有的所有进程上的所有 ptrace 功能。不幸的是,我不想让其他人拥有这种能力。所以我查看了apparmor,发现我可以使用
在我的 aparmor 配置文件中,然后我在运行应用程序时将其包括在内。
一切正常。然后我使用 fuser(以 root 身份),正如预期的那样,我可以看到 root 拥有的进程。但是我有几个在 uucp 下运行的进程,这导致权限被拒绝。
所以我转向 uucp 下的 bash。
但是使用 fuser 或 lsof 不起作用并且什么也不返回。
那么,当我在 docker dontainer 中作为所述用户处于活动状态时,如何为任何用户激活 ptrace?
ubuntu - 如何更改“dhclient”的启动命令
我想为运行 ubuntu 14.04 的“dhclient”命令添加一些额外的标志,
dhclient 在启动时启动,我使用“ps”得到的默认命令如下,
/sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid -lf /var/lib/NetworkManager /dhclient-cf3e1c07-94fa-44b7-a44b-5987b9ec596a-eth0.lease
我想为此添加“-w”标志。
我正在查看“/etc/apparmor.d/sbin.dhclient”,但找不到可以在哪里添加此标志或从哪里向该命令提供“-d -q”标志。
lxc - 如何在 lxc 容器中使用 apparmor?
我在 /var/lib/lxc/foo/ 中使用 ubuntu 模板创建了 lxc 容器“foo”。
我在 /var/lib/lxc/foo/rootfs/home/ubuntu/test/ 中有文件 a.out (或 /home/ubuntu/test/ 从容器内部可见)。
我想使用 apparmor 来防止 a.out 写入“测试”文件夹。是否有可能,如果可以,我应该如何配置 apparmor/lxc?
lxc - lxc-container-default-with-nesting AppArmor 配置文件有什么作用?
我正在使用带有 lxc-container-default-with-nesting 配置文件的嵌套 LXC,如下所示。
我对以下行有两个问题。
为什么允许容器挂载 /proc 是安全的?
为什么容器需要在 /var/cache/lxc 下挂载 /proc ?