ディレクトリへのSELinux httpd書き込みアクセス


9

SELinuxは初めてです。debianから来ました。httpdディレクトリへのアクセスを許可したい。

SELinux Alert Browserは以下を提案します:

# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp 

このコマンドがどのように機能するのか理解できませんでした。どこにもディレクトリパスを指定していません。どのようにhttpdを許可するディレクトリを知るのですか?

以前は、grepを使用して出力またはファイルからテキストを抽出していました。しかし、ここではプロセスでgrepが使用されています。わかりませんでした。

また、実際の解決策は何ですか。httpdにディレクトリへの書き込みアクセスを許可する場合


4
そして、他の質問に答えるために、audit2allowはSELinuxログファイルを読み取り、ブロックされたものを許可するポリシーを書き込みます。ディレクトリ名はログメッセージに含まれます。httpdをgreppingすることで少し制限しますが、この方法は本来あるべき範囲よりも広くなっています。
miken32

回答:


17

ディレクトリのコンテキストを永続的に変更する方法は次のとおりです。

# install semanage if you don't already have it:
yum install policycoreutils-python

# give the directory a new default context. The part at the end is a regex.
semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/directory(/.*)?"

# apply the default context to the directory
restorecon -R /path/to/directory

httpdのさまざまなコンテキストに関するその他のドキュメントを次に示します。

RHEL 7:https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html

RHEL 6:https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html


パーフェクト!! Fedora 26で私のために働いて、policycoreutils-pythonはデフォルトですでにインストールされていました。
Sir_Faenor 2017

5

SELinuxは、ディスク上のディレクトリ構造に追加できる拡張属性を利用します。これらがメタデータとして考えてください。アクセス制御リスト(ACL)は別のものです。

ディレクトリに追加する必要がある拡張属性はコンテキストと呼ばれ、SELinuxはトラフィック警官のように機能し、特定のコンテキストを持つ実行可能ファイルがこれらのコンテキストに基づいてファイルシステムにアクセスできるようにします。-Zへのスイッチを使用して、ディレクトリで利用可能なものを確認できますls

$ sudo ls -Z /var/www
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html

ここで、これらのディレクトリがdirのコンテキストhttpd_sys_script_exec_t:s0を持っていることがわかりますcgi-bin。そしてhtmldir。持っていhttpd_sys_content_t:s0ます。

次のchconコマンドを使用してこれらを追加できます。

$ sudo chcon -t httpd_sys_content_t public_html

あなたが求めているコマンドは単にモジュールmypoll.ppをロードするだけであり、それは何かへのアクセス許可を与えるとは思わaudit.logない、あなたのコマンドで不足しているメッセージがより多くあり、必要なものをより詳細に教えてくれるだろうアクセスを許可するために行うこと。

少し時間をかけてSELinuxに慣れることをお勧めします。最初は混乱しますが、少し時間を費やした後は、通常は簡単です。開始するには、以下のリソースをご覧ください。

参考文献


ありがとう。私はそれらを通過します。しかし、今のところ、このディレクトリへの書き込みアクセスを許可するために何をする必要があるか教えていただけますか?
Neel Basu、2014

:あなたは、Apacheはあなたにディレクトリに、このコンテキストを追加する可能性の必要性を読みたいということの内容であればchcon -R -t httpd_sys_content_t <dir>
SLM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.