問題タブ [selinux]

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.

0 投票する
2 に答える
8329 参照

ruby-on-rails - 書き込まれていないログファイル(乗客)

ローカルでは、私のアプリは正常に実行され、ログに書き込まれます。

私の本番サーバーは、Passengerを実行しているApacheサーバーでCentOSを実行しています。デバッグしようとすると、ログファイルが書き込まれていないことに気付きました。私が最初にしたことはchmod0666でしたが、それが機能しないことがわかったとき、apacheログを調べました。私はこれを見つけました:Railsエラー:ログファイルにアクセスできません。/var/www/vhosts/mysite.com/rails/exp/releases/20091124020342/log/production.logが存在し、chmod 0666であることを確認してください。ログレベルがWARNに引き上げられ、出力が問題が発生するまでSTDERRに送信されます。固定されています。

(注:私はcapistranoで展開しています)

とにかく、グーグルで検索して、SELinuxの問題だと言う人を見つけたので、乗客のドキュメントを調べて、これを見つけました:http ://www.modrails.com/documentation/Users%20guide.html#_my_rails_application_8217_s_log_file_is_not_being_written_to

これは基本的にこれを行うと言っています:chcon -R -h -t httpd_sys_content_t / path / to / your / rails / app

ただし、適切なパスを入力すると、次のようになります。操作はサポートされていません。

かなり困惑しています...何かアイデアはありますか?

0 投票する
1 に答える
3100 参照

java - SELinuxはJavaの実行を妨げます

私は最近、かなり基本的なSELinuxがインストールされているシステムにSunJavaをインストールしました。

Debian Etchを実行していて、フリーでないパッケージリポジトリからSunJavaパッケージをインストールしました。

を実行するとsyslogに表示されるエラー通知は次のとおりjava -versionです。

`Feb 9 14:02:40 dev kernel:audit(1265742160.570:4107):avc:denied {execmem} for pid = 9882 comm =" java "scontext = user_u:system_r:unconfined_t:s0 tcontext = user_u:system_r:unconfined_t: s0 tclass = process

2月9日14:02:40devkernel:audit(1265742160.578:4108):avc:denied {execmem} for pid = 9882 comm = "java" scontext = user_u:system_r:unconfined_t:s0 tcontext = user_u:system_r:unconfined_t:s0 tclass = process`

私はグーグルで調べましたが、Javaがexecmem制約に違反する操作を実行することを許可するSELinuxポリシーを作成する必要があるようです。これは正しい仮定ですか?もしそうなら、私はどのように始めるべきですか?

更新:

Javaの処理を目的としたターゲットポリシーを探して見つけました。次のコマンドを使用してインストールしました。

$ sudo semodule -i /usr/share/selinux/refpolicy-targeted/java.pp

しかし、これは役に立ちませんでした。引き続きsyslogに同じ監査メッセージが表示されます。

0 投票する
1 に答える
207 参照

selinux - SElinux の完全性チェック

プロセス名でファイルへのアクセスを (SELinux で) チェックするにはどうすればよいですか?

たとえば、次の 2 つのプロセスがあります。

  • /usr/bin/foo1
  • /usr/bin/foo2

それらはユーザー名のアカウントで実行されuserA、ファイルを変更するために開こうとします:

  • /home/userA/test.txt

ファイルを開こうとすると、それが必要foo1です-大丈夫です。しかし、foo2このファイルを開こうとすると、これに関するメッセージが にあります/var/log

問題は、両方のプロセスが同じユーザー ID を持っていることです。また、ユーザー名で RBAC を使用することはできません。

0 投票する
1 に答える
330 参照

apache - SeLinux をオフにしてポート 81 で Apache を実行する

「semanage port -a -t http_port_t -p tcp 81」を実行し、ポート 81 でリッスンするように httpd.conf を変更しました。httpd サービスを再起動した後、動作しません。しかし、デフォルトのポート 80 で動作しています。SeLinux を確認したところ、実際には無効になっています。誰かが私をそこから抜け出すことができますか?

0 投票する
1 に答える
1071 参照

php - PHP 書き込み権限 - FC13

最近 FC13 をインストールし、収集したデータを特定のディレクトリにキャッシュするメカニズムを PHP コードに記述しようとしています (ここでは、/var/www/html/_php_resources/cache と呼びます)。

ファイルを /var/www/html ディレクトリにコピーし、新しいデータに対して実行chown -R apache:apache /var/www/html/*します。chmod a+w /var/www/html/_php_resources/cache現時点では、便宜上、グローバル書き込み権限を使用しています。後で権限を調整します。

chmodまたはmkdirPHP 関数を使用しようとすると、次のようになります。

警告: chmod(): /var/www/html/_include/php/CacheInit.php で許可が拒否されました

また

警告: mkdir(): /var/www/html/_include/php/CacheInit.php で許可が拒否されました

今、SELinux を無効にすると、すべて正常に動作します。問題は、誰かがそのような明示的な制御を持っていないサーバーに移植できるように、SELinux を無効にして実際に正しく権限を設定したくないということです。

例として、私の個人サイトのホストでは、ディレクトリに読み取り/書き込み権限を設定できますが、SELinux ポリシーの変更は許可されません。


ご参考までに:

  • uname -r = 2.6.34.7-56.fc13
  • * php -バージョン * = PHP 5.3.3
  • rpm -qa | grep httpd = httpd-2.2.16-1.fc13

誰か提案はありますか?

0 投票する
1 に答える
1180 参照

php - PHP/Apache から pdftk を呼び出したときに SegFault が発生するのはなぜですか。PHP/CLI または直接ではありません。

/usr/local/bin/pdftkApache で PHP から ( 、 、 などを介してshell_exec())exec()呼び出すsystem()期待どおりに SYNOPSIS メッセージが返されます。

/usr/local/bin/pdftk input.pdf fill_form input.fdf output output.pdf flatten経由で呼び出すとshell_exec()、何も返されません。

まったく同じ文字列をコピーしてシェルの同じパスに (apache ユーザーとして) 貼り付けると、output.pdf ファイルが期待どおりに生成されます。

pdftkコマンドを PHP シェル スクリプト (shebang is ) に移動し#!/usr/bin/phpて実行すると、php script.php完全に機能します。

そのシェル スクリプトを (stderr を stdout にリダイレクトして) Apache の PHP から ( 経由でshell_exec(script.php);) 呼び出すと、次の行になります。

コマンド ラインから (PHP 経由または直接) スクリプトを実行すると、問題なく動作します。Apache 経由で PHP を介してスクリプトを実行すると、通知なしで失敗するか、上記の SegFault が発生します。

RHEL4 の PHP 4.3.9 です。私を撃たないでください。ini_set() を使用してメモリを 512M に設定し、apache ユーザーが (fopen() を使用して) すべてのパスに読み取り/書き込みを行い、apache としてログインしていることを確認しました ...

これを見つけるために/var/log/messagesに行ってチェックしました:

注: SELinux を無効にすると、問題が「修正」されました。これは ServerFault の質問に移動しましたか? 30 秒の SELinux アクセス制御の入門書をここで教えてもらえますか?

0 投票する
4 に答える
371 参照

linux - UNIXプロセスにディレクトリへの排他的RWアクセスを与える

Linuxプロセスを特定のディレクトリにサンドボックス化し、このプロセスにこのディレクトリへの排他的rwアクセスを与える方法はありますか?たとえば、一時的な作業ディレクトリを作成し、その機能をあまり制限せずに、このディレクトリにのみ書き込むことができるように、Pythonまたは別のスクリプトツールなどを起動します。また、このプロセスのみがこのディレクトリからの読み取りにアクセスできます(もちろんスーパーユーザーを除く)。

基本的にユーザーが任意のコードを実行できるWebサービスをサンドボックス化するためにこれが必要です。現在、ソフトウェア自体で認証を行っていますが、最終的にはすべてのプロセスが1つの同じLinuxユーザーとして実行されます。ユーザーがシステムに害を及ぼすことはないが、Webサービスの他のユーザーから保護されているファイルを読み書きするための一時的なプライベート作業ディレクトリを持っている方法が必要になります。

0 投票する
1 に答える
245 参照

linux - クラスター オン デマンド、つまりレンタル用クラスター

クラスター オン デマンドとは、特定の仕事のためにクラスターをレンタルすることを意味します。現在、クラスターの構築中にクラスター コンピューターを使用する必要があるクライアントがいます。コアごとにクラスターをレンタルする価格と、最小限の期間が必要かどうかを知っている人はいますか? コアあたり 0.50 ドルから 3.00 ドルまでのすべてを見てきました。使用は、少なくとも 20 時間の FDS を使用した火災シミュレーションに使用されます。クラスターには少なくとも 256 コアが必要です。

0 投票する
1 に答える
883 参照

linux - Apacheから起動されたサブプロセスに対してSELinuxを無効にするにはどうすればよいですか?

私のApacheモジュールは、ヘルパーサブプロセスを起動します。これは、たとえば、次のことを行いますが、これらに限定されません。

  • Apacheと通信できるようにソケットを設定します。
  • Apacheの終了時に削除される一時的な場所でファイルの読み取りと書き込みを行います。これらのファイルは、たとえば、データがRAMに快適に収まらない場合に、ネットワーク経由で受信した大量のデータを保存するために使用されます。
  • ユーザー指定の実行可能ファイルを生成します。CGIに似ています。これらの生成された各プロセスは、独自の専用ユーザーとして実行されます。

ヘルパーサブプロセスはrootとして起動されるため、ファイルの所有権とアクセス許可を管理し、特定のユーザーとしてより多くのプロセスを生成できます。

私のモジュールの一部のユーザーは、RedHatベースのディストリビューションなどのSELinuxがインストールされたシステムで実行されます。SELinuxは通常私のモジュールに干渉します。これまで、ソフトウェアに適切なポリシーを作成する方法がわからないため、システム全体でSELinuxを無効にするように人々に伝えてきました。ドキュメントは非常に分散していて複雑であり、通常はシステム管理者のみを対象としており、ソフトウェア開発者は対象としていません。

正しい方向へのステップとして、SELinuxの最小限のサポートを実装したいと思います。システム全体でSELinuxを無効にすることなく、SELinuxの制約なしにヘルパーサブプロセスを起動する方法を探しています。それを行う方法はありますか?もしそうなら、どのように?

0 投票する
2 に答える
4874 参照

php - ファイルが確実に実行可能であっても、PHP 関数 is_executable が false を返す

PHP 5.3 を使用しています。

getfacl を使用すると、ファイルのパーミッションは次のようになります。

PHP のプログラム実行関数 ( http://www.php.net/manual/en/ref.exec.php ) の使用にも問題があります。

問題のプログラムは wkhtmltopdf で、/usr/bin ディレクトリにあります。

/usr/bin ディレクトリにまったく同じ権限を持つ convert プログラムがあり、is_executable 関数は true を返します。