在apparmorconfiguration文件中加载Django应用程序的设置

所以我们有一个django应用程序需要一个apparmorconfiguration文件(客户端的任务)。 它运行在位于/opt/fact-virtual-environment的Python虚拟环境中。 应用程序本身安装到/usr/share/fact

以下是我目前的个人资料(主要使用aa-genprof工具构build):

# Last Modified: Tue Jan 20 09:25:09 2015 #include <tunables/global> /usr/bin/fact flags=(audit) { #include <abstractions/apache2-common> #include <abstractions/base> #include <abstractions/bash> capability setgid,capability sys_resource,/usr/local/lib/python2.7/dist-packages/**/ rm,/usr/local/lib/python2.7/dist-packages/** rm,/usr/local/lib/python2.7/site-packages/**/ rm,/usr/local/lib/python2.7/site-packages/** rm,/etc/apparmor.d/** r,#/usr/lib/python2.7/**[^/] r,/usr/bin/sudo Ux,#/usr/bin/strace ux,/bin/bash rix,/bin/dash rix,/bin/uname rix,/dev/tty rw,/etc/default/locale r,#/etc/nsswitch.conf r,#/etc/group r,#/etc/passwd r,/etc/environment r,/etc/login.defs r,/etc/lsb-release r,/etc/fact/fact.ini r,/etc/python2.7/sitecustomize.py r,/etc/security/pam_env.conf r,/lib{,32,64}/** mr,/opt/fact-virtual-environment/**/ mr,/opt/fact-virtual-environment/lib/python2.7/**/ mr,/opt/fact-virtual-environment/lib/python2.7/** mr,/opt/fact-virtual-environment/bin/python rix,/run/utmp rk,/sbin/ldconfig rix,/sbin/ldconfig.real rix,/usr/bin/fact rix,/usr/lib{,/usr/share/fact/**/ r,/usr/share/fact/** r,/usr/share/pyshared/** r,/usr/share/pyshared/**/ r,}

…和/usr/bin/fact命令是一个简单的包装:

#!/bin/bash ## This script is for running the 'fact' command on staging/prod,it sudos to ## the 'fact' user before executing /opt/fact/bin/fact ## It is installed as '/usr/bin/fact' PYTHONPATH=/usr/share/fact PYTHON_BIN=/opt/fact-virtual-environment/bin/python DJANGO_SETTINGS_MODULE=fact.settings.staging if [ "$USER" != "fact" ]; then sudo -u fact $0 $*; else PYTHONPATH=${PYTHONPATH} DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE} ${PYTHON_BIN} -m fact.managecommand $*; fi

我已经启用了很多读取权限,我知道我不需要,比如在debugging尝试中设置了整个/usr/local/lib/* 。 一些令我感到震惊的是,当我运行service apparmor reload (或重新启动)时,我的configuration文件似乎不会重新service apparmor reload 。 我似乎得到不同的结果,如果我重新启动服务与aa-complain usr.bin.fact紧跟着aa-enforce usr.bin.fact 。

在WIndows的Java中,如何检测文件是否具有“只读”属性

如何阻止Linux程序被打印屏蔽?

需要什么权限来安装和更新ActiveX控件?

XDebug主机 – 安全?

我如何只允许pipe理员在Windows中closures程序

现在当我运行我的命令并检查系统日志时,我看到以下内容:

Feb 11 15:08:48 spiffy kernel: [1228245.774660] type=1400 audit(1423620528.359:14142): apparmor="DENIED" operation="open" parent=12884 profile="/usr/bin/fact" name="/usr/local/lib/python2.7/site-packages/" pid=12885 comm="python" requested_mask="r" denied_mask="r" fsuid=111 ouid=0 Feb 11 15:08:48 spiffy kernel: [1228245.774855] type=1400 audit(1423620528.359:14143): apparmor="DENIED" operation="open" parent=12884 profile="/usr/bin/fact" name="/usr/local/lib/python2.7/dist-packages/" pid=12885 comm="python" requested_mask="r" denied_mask="r" fsuid=111 ouid=0 Feb 11 15:08:48 spiffy kernel: [1228245.775829] type=1400 audit(1423620528.359:14144): apparmor="DENIED" operation="open" parent=12884 profile="/usr/bin/fact" name="/usr/local/lib/python2.7/dist-packages/" pid=12885 comm="python" requested_mask="r" denied_mask="r" fsuid=111 ouid=0

..和我的Python应用程序barfs:

$ fact Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py",line 162,in _run_module_as_main "__main__",fname,loader,pkg_name) File "/usr/lib/python2.7/runpy.py",line 72,in _run_code exec code in run_globals File "/usr/share/fact/fact/managecommand.py",line 6,in <module> execute_from_command_line(sys.argv) File "/opt/fact-virtual-environment/local/lib/python2.7/site-packages/django/core/management/__init__.py",line 385,in execute_from_command_line utility.execute() File "/opt/fact-virtual-environment/local/lib/python2.7/site-packages/django/core/management/__init__.py",line 345,in execute settings.INSTALLED_APPS File "/opt/fact-virtual-environment/local/lib/python2.7/site-packages/django/conf/__init__.py",line 46,in __getattr__ self._setup(name) File "/opt/fact-virtual-environment/local/lib/python2.7/site-packages/django/conf/__init__.py",line 42,in _setup self._wrapped = Settings(settings_module) File "/opt/fact-virtual-environment/local/lib/python2.7/site-packages/django/conf/__init__.py",line 98,in __init__ % (self.SETTINGS_MODULE,e) ImportError: Could not import settings 'fact.settings.staging' (Is it on sys.path? Is there an import error in the settings file?): cannot import name current_app

它正在寻找的设置文件位于/usr/share/fact/fact/settings/staging.py

我完全不能理解为什么我不能让这个应用程序在其apparmorconfiguration文件下运行。 configuration文件中的设置应该允许。 这是怎么回事?

如何使用ReflectionPermission来拒绝reflection

如何保护ajax内容

如何知道我的web服务在Visual Studio 2005下运行的帐户

存储Windows密码

我如何从C ++服务应用程序访问Windowslogin(authentication)API?

所有拒绝都在寻找这个特定的目录: /usr/local/lib/python2.7/dist-packages/

你的个人资料包括这个目录的一些孩子:

/usr/local/lib/python2.7/dist-packages/**/ rm,

但是它不包括这个特定的目录。 因此,将此添加到您的个人资料,重新加载配置文件,然后再试一次:

/usr/local/lib/python2.7/dist-packages/ r,

AppArmor使用尾部/来确定管理员是否打算允许获取目录列表而不是允许读取文件。

谢谢

您的个人资料缺少读取目录/usr/local/lib/python2.7/site-packages/的权限

你将需要添加/usr/local/lib/python2.7/site-packages/r,

您当前配置文件的权限允许访问/usr/local/lib/python2.7/site-packages/下的所有内容,但不能实际访问目录本身

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自http://www.cnblogs.com/qijunjun/p/7137207.html 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下Git的相关用法,废话不多说,直接开写。 目的:通过Git管理g
fatal: remote origin already exists.解决方法 第一个问题git remote add origin**************fatal: remote origin already exists.(报错远程起源已经存在。)上网查了下,有很多小白遇到过这个问题,以
git常用命令(二)查看历史记录 git log [--pretty=oneline] [ --oneline] / reflog Eniac-W 于 2020-10-18 18:12:38 发布 2368 收藏 3分类专栏: git 文章标签: git版权 git专栏收录该内容10 篇文章0 订阅
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该内容2 篇文章0 订阅订阅专栏2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下。这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆下来的
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能够确保进入git库的代码都是符合代码规则的。但是整个项目上运行lint速度会很慢,lint-staged能够让lint只检测暂存区的文件,所以速度很快。 安装与配置 安装husky和lint-staged: yarn add hu
方法:1、文件没有git操作时用“git checkout--文件”命令还原;2、文件提交到暂存区时用“git reset HEAD”命令回退当前版本还原;3、文件提交到仓库区时用“git reset HEAD^”命令回退上一个版本还原。 本文操作环境:Windows10系统、Git2.30.0版、
使用Git将本地文件提交到远程仓库 一 操作准备条件: git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存。 解决办法如下: 1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2、把文件添加到版本库中,使用命令
GitHub克隆代码到本地全教程 因为工作原因更换电脑,想要从GitHub上拉取代码的话需要重新配置ssh keys,时间过的久了怕忘记就把步骤给记录下来。 具体步骤: 1.安装git 这我就不说了 2.在TortoiseGit的安装文件中找到 puttygen.exe应用程序 ,默认应该都是 :C
github上传项目的时候报出git@github.com: Permission denied (publickey). fatal: Could not read from remote repo 前言 会不会有程序员小伙伴在刚开始使用github的时候上传项目的时候困难重重,但是又基于自己本身
查看历史 git log --pretty=onelinegit log (然后一直按enter键) 一个是切换根据历史里面的id切换git checkout ID git log 需要不断按enter键出来历史提交记录 git log --pretty=oneline 是直接出来历史记录
Git工作原理及常用命令 欧怼怼发布于&#160;2020-12-08 git介绍 git(读音/ɡɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 git
git git提交项目的具体流程 git项目流程:以下主要有3个角色:负责人、成员A、成员B(若负责人也要修改代码,则负责人同时兼任2个角色:负责人、成员) 主要负责人:搭建项目架构且提交到git上1.github官网登录后,新建仓库,生成地址url,复制线上仓库.git结尾的地址url2.在一个空
git上传项目全部流程 一、下载git 进入网址:https://git-scm.com/downloads; 点击中的Download 2.16.0 for Windows; 在中选择蓝色字段点击,根据电脑64或32位选择适合的下载,点击即可进行下载,下载完成后傻瓜式安装,一直点击下一步即可完成安
Your local changes to the following files would be overwritten by checkout问题的解决 于 2018-07-17 11:38:27 发布 Git 的本地版本管理有三个部分 名称&#x9;说明工作区(Working Directory)&#x9;
Git配置SSH Keys步骤使用教程 1.若是首次安装使用git,先配置用户名称和邮箱(如果有就不需要配置) 打开Git Bash,输入 git config --global user.name &quot;姓名&quot;git config --global user.email &quot
基本配置完成,接下来就是上传你要上传的项目了。 1、初始化git 进入你要上传的项目的文件夹,在文件夹内鼠标右击,选择“Git Bash Here”打开git命令行,输入: $ git init 目的是初始化git,并且会创建个“.git”文件夹,里面有个“config”就是用来保存远程厂库路径地址
本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“gitee如何上传代码”吧! ...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作中,相信很多人在gitee如何下载仓库里的项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Gitee上更新代...