問題タブ [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 の設定に失敗しました。エノシス
OpenCPU を Ubuntu サーバー (Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)) に既にインストールしており、すべてが問題なく完全に機能しました。ここで言いたいのは、私はこの API が本当に好きで、この 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」を標準の2e9ではなく1e9に変更すると問題が解決すると思いました(750000000と500000000も試しました)が、何も役に立ちませんでした(もちろんopencpuサービスを再起動しました)変更するたびにもう一度)。また、これは問題ではないと思います。操作で複数の GB を使用する場合、サーバーは仮想メモリを使用すると思うからです。問題は RAppArmor に関係していると思います。だから私はそれを無効にしてopencpuを再起動しようとしましたが、問題は消えませんでした:
$ sudo aa-disable usr.bin.r /etc/apparmor.d/usr.bin.r を無効にします。トレースバック (最新の呼び出しが最後): file "/usr/sbin/aa-disable", line 30, in tool.cmd_disable() File "/usr/lib/python3/dist-packages/apparmor/tools.py", line 148、cmd_disable で apparmor.AppArmorException(cmd_info[1]) を発生させる apparmor.common.AppArmorException: '警告: /proc/mounts で適切な fs が見つかりません。マウントされていますか?\nオーバーライドするには --subdomainfs を使用してください。\n'
ここで問題が何であるかを知っている人はいますか、または解決策を探すための提案がありますか?
次のいずれも問題の原因ではないと思いますが、よくわからないので、とにかくこれらの警告を追加します。
OpenCPU のインストール中に遭遇した唯一の奇妙なことは、次のメッセージでした (4 回表示されました)。
しかしその後、次のように言われました。
また、RAppArmor を個別にインストールしようとすると、次の警告が表示されました。
perl: 警告: ロケール設定を確認してください: LANGUAGE = (未設定)、LC_ALL = (未設定)、LC_CTYPE = "UTF-8"、LANG = (未設定) がサポートされ、システムにインストールされています。perl: 警告: 標準ロケール ("C") にフォールバックしています。locale: LC_CTYPE をデフォルトに設定できません locale: そのようなファイルまたはディレクトリはありません locale: LC_ALL をデフォルトの locale に設定できません: そのようなファイルまたはディレクトリはありません 以前に未選択のパッケージ r-cran-rapparmor を選択しています。
そしてこれも:
警告: /proc/mounts で適切な fs が見つかりません。マウントされていますか?\n--subdomainfs を使用してオーバーライドしてください。\n
前もって感謝します!
r - Rmpi、OpenCPU、および Apparmor: "/" に対する拒否された要求
Rmpi パッケージを使用して実行している OpenMPI クラスターにジョブを送信する R パッケージがあります。コンソールから R セッションを実行すると、すべてが期待どおりに機能します。ただし、次のようにOpenCPUサーバーから関連する関数を実行しようとすると(無実を保護するために詳細が変更されました):
次のエラーが表示されます。
(パッケージ内のその他の非クラスター呼び出し関数は、OpenCPU を介して期待どおりに動作します)。/var/log/kern.log
さまざまな要求が apparmor によるものであることに気付きました。OpenMPIが必要なファイルにアクセスできるようにDENIED
エントリを追加することで、それらのほとんどを解決できました。/etc/apparmor.d/opencpu.d/custom
ただし、場所の「オープン」リクエストに関連する次の 2 つの問題 (ここでも IP アドレスが変更されました) を解決できません"/"
。
これを私の apparmor ルールに追加しても役に立ちませんでした:
2 つの質問:
- opencpu がルート レベル ディレクトリから読み取ろうとするのはなぜですか (または、これは別の意味ですか)?
- もっと緊急に、どうすればこの apparmor の問題を解決できますか?
ありがとう。
python - apparmor プロファイルで Django アプリケーションの設定をロードする
したがって、apparmor プロファイル (クライアントの委任) を必要とする django アプリケーションがあります。にある Python 仮想環境で実行され/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 のツイスト ライブラリを使用して実行するアプリケーションの apparmor プロファイルを作成するにはどうすればよいですか?
Python のツイスト ライブラリを使用して、ssh と実行にアクセスできるネットワーク アプリケーション用の apparmor プロファイルを作成しようとしています。aa-genprof を使用してプロファイルを生成しようとしました。別のバッシュでは、いくつかのテスト ケースを使用してアプリケーションを実行しました。ただし、ルールは生成されていません。プロファイルを生成するにはどうすればよいですか?
mysql - MySQL: /home/* フォルダーの INTO OUTFILE csv (エラーコード: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/ (またはコンテナー内から見える /home/ubuntu/test/) にファイル a.out があります。
a.out が「test」フォルダーに書き込まれないようにするために apparmor を使用したいと思います。それは可能ですか?もしそうなら、どのように apparmor/lxc を設定すればよいですか?