SELinuxのポリシーを作るaudit2allowをインストールできませんか?

このQ&Aのポイント
  • Fedora12のWebサーバで、ftp接続でファイルのアップロードができない問題が発生しています。
  • SELinuxのブーリアン値のftp_home_dirがホーム以下のユーザには効かないことが分かりました。
  • SELinuxの監査ログからポリシーを作成するためのaudit2allowプログラムがFedora12に含まれていないようです。
回答を見る
  • ベストアンサー

SELinuxのポリシーを作るaudit2allowをインストールできませんか?

Fedora12を使ってWebサーバを作りました。 SELinuxが有効になっています。 困っていること:ftp(vsftpd)接続でファイルがアップロードできない 症状:ftpユーザは、自分のホームより上へはアクセスできない設定にしました(chroot?) /homeの下に住んでいるユーザはftpで自由にファイルを上げられました WEBサーバを作ったので、/var/www/に直接ファイルを上げたいです。 そこで、ホームに/var/www/を指定して新しい専用ユーザを作成 ftp接続したところ、/var/www/のファイル一覧の取得とダウンロード(r)はできるものの、アップロードと削除(w)ができません。 SELinuxを止たところ読み書き全て正常に動きました。 SELinuxのログのみ出力するモードにしたところログも出ました。(内容は私には理解できません) そこでSELinuxが原因だと思っています。 ホームが、/home/以下のユーザを作った時は SELinuxのブーリアン値のftp_home_dirというのをonに設定することによって 読み書き可能になりました。この設定ってサーバ上の/home/以下のことを言っていて それ以外のところ(/var/www/以下とか)をホームに設定したユーザには効かないんでしょうか。 まずは、この辺で私が勘違いとかしていればご指摘いただけないでしょうか。 そして、この辺をon/offするような設定で/var/www/以下にftpアップロードできない場合は、 ちょっと面倒ですがSELinuxの監査ログから自分でポリシーを作るやつ audit2allowというプログラムがFedora10とFedora11を使った時には 入っていたのですが、今手元にあるFedora12のサーバには見当たりません。 名前が変わっているのか、入っていないのであればどうやって入れればよいのでしょうか。 できれば使い慣れたrpmっていうファイルで入れたいのですが、なんというパッケージに含まれているのでしょうか マニアックで難しい質問かとは思いますが、ご指導お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dev_null
  • ベストアンサー率67% (37/55)
回答No.1

> SELinuxのブーリアン値のftp_home_dirというのをonに設定することによって > 読み書き可能になりました。この設定ってサーバ上の/home/以下のことを言っていて > それ以外のところ(/var/www/以下とか)をホームに設定したユーザには効かないんでしょうか。 SELinuxは、コンテキストタイプをもとにアクセスを制限するわけですから、/homeとか/var/wwwなどのディレクトリ名は関係ありません。 そのディレクトリのコンテキストタイプがなにかが重要になります。 ブーリアン値のftp_home_dirは、/home以下のディレクトリのコンテキストタイプにアクセス出来るようにする設定ですので/var/wwwに対して影響がないのは当然かと思います。 Fedora12でも、audit2allowはあります。パッケージ名は、policycoreutils-pythonですので確認してみてください。

aki-kun
質問者

お礼

dev_nullさま、アドバイスありがとうございます。 おかげさまでSELinuxの知識が深まりました。 また、audit2allowもご指摘通りのパッケージがインストールDVDにあり、無事に入れられました。ポリシー作成してやってみようと思います。

関連するQ&A

  • CentOS7 FTPアップロードについて

    はじめてサーバーの構築をしており、ネットで調べながら、本を読みながら構築しているのですが、FTP接続について教えて下さい。 CentOS7でFTPの設定をし、自分のパソコンのFTPソフトから接続して、サーバーのディレクトリを見ることができました(ログインできました)が、ファイルのアップロードができません。。 本を参考にすると、SELinuxを設定するとありましたので、 setsebool -P ftp_home_dir on のコマンドを実行しましたが、 553 Could not create file. というエラーメッセージが出て、アップロードも、ディレクトリ作成もできません。 場所は、var/www/http/ の中です。 home/ユーザー名/ の中ならファイルのアップロードもディレクトリ作成もできます。 SELINUX=enforcing を SELINUX=disabled に変えると書いてあるサイトも有りますが、その設定をすると、サーバーが動かなくなる?という記述もあったりで、できたら他の方法がないのかなと思っていますが、問題のない方法でFTPアップロードをするやり方はありませんでしょうか。 教えて下さい。

  • /var/www を home directory にしたい

    CentOS, Apache, vsftpd を使っています。 ウェブページメンテナンス用のユーザーアカウントを作成し、 そのユーザーのホームディレクトリを /var/www にしたいのです。 ftp + chroot で /var/www の下以外のアクセスをさせないために。 そこまではできたのですが、そうすると何か他のことをやるたびに、 「システムアカウントの設定が変」みたいな文句を SELinux に言われます。 そのとき、/var/log/audit/audit.log にも何も出ないので、どうすれば いいのかサッパリわかりません。 setenforce 0 以外の方法が何かあるでしょうか?

  • vsftpのディレクトリとユーザーについて

    Fedoraのvsftpで身内用のFTPサーバーを構築中です。 下記の設定をしたいと思っているのですが、 どう設定すればよいかこんがらがってきたので、 質問させて下さい。 ■前提 ・FileのPath  下記のディレクトリ構成を考えています。  /home/ftp/a  /home/ftp/b  /home/ftp/c ■質問 ここで、下記の内容で設定を行いたい場合は、 どのようなユーザー作成・パーミッションの設定を 行えばよいでしょうか。 1.User1,User2は、a,b,c全てを、User3はaだけ、  User4はbだけ見れるようにしたい場合、  設定はどうやるのがスマートでしょうか?   2.User1,User2はabc全てアクセス可能で、/sbin/nologinユーザー。  homeディレクトリは/home/ftpに設定。  他のユーザーは、メールも使う為に、  /home配下に個々にhomeがある。 やはり、シンボリックリンクを多用して、 設定して行くしかないのでしょうか。

  • SELINUXを無効にするとファイルサーバー(samba)が機能しない

    お世話になります。 以下のLinuxサーバーにsambaを導入し、ファイルサーバーとして使用しております。 ■導入Linux  Redhat EnterPrise Linux 5.3 ■sambaバージョン  Samba Server Version 3.0.33-3.7.el5 SELINUXの設定は、有効(enforcing)としておりますが ファイルサーバーとして問題なく稼動しておりました。 ある他のソフトウェアの設定で、SELINUXを無効にする必要があったので SELINUXの設定を permissive もしくは、disabledにしたのですが OS再起動後にファイルサーバーへのアクセスが不可となり ファイルサーバーとして、機能しなくなってしまいました。 (smbデーモンなどは起動しておりました。) ■SELINUXの設定方法 /etc/selinux/config のファイルの中身 ・samba正常稼動時の設定  -------------------------   SELINUX=enforcing   SELINUXTYPE=targeted  ------------------------- ・sambaファイルアクセス不可時の設定 その1  -------------------------   SELINUX=permissive   SELINUXTYPE=targeted  ------------------------- ・sambaファイルアクセス不可時の設定 その2  -------------------------   SELINUX=disabled   SELINUXTYPE=targeted  ------------------------- 「sambaが調子悪いときはSELINUXを無効にする」という回避策は ネット検索をすると、たくさん出てくるのですが 今回は逆に、sambaが機能しなくなってしまったので、困っております。 お分かりになる方、コメントいただけますでしょうか。 よろしくお願いいたします。

  • SELinuxの設定方法について

    OS: Fedora core 4 selinuxについて不勉強で、 selinuxを以下のようにOnしました permissiveモード selinux typeを"targeted" se linuxを有効した場合、permissiveモードですので、サービスが動作していますが、 typeがTargetedの場合、保護されてないデーモンが"unconfined_t"になるため 今後は、DNSサービス/mailサービス(postfix)/webサービス(apache)を提供していきたいと考えおり、 selinuxのtypeをstrictにしたいと考えています。 設定方法について権限の方法などわかりやすく説明してあるサイトや書籍があったら教えて戴きたいと思います。 よろしくお願いします。

  • ログ管理

    ftpサーバーのログファイルにログが記載されないトラブルにみまわれております。 /etc/xinetd.d/vsftpd は、 service ftp { ... log_type = SYSLOG local3 ... } と設定しまして、 /etc/syslog.conf には、 ... local3.* /var/log/ftpd.log ... と設定し、 /var/log ディレクトリに、アクセス制限が644の所有者及びグループがrootのファイル ftpd.log を作成しました。 以下の設定で、デーモンとシステムログを以下のように再起動させました。 #service xinetd reload #service syslog reload これで、ftpサーバーにアクセスしたら、/var/log/ftpd.log にログが残ると思ったのですが、ログが記録されません。 上記の手順では不備があるのでしょうか。 問題解決の答えないしヒントを教えてください。

  • ホスト初期フォルダ public_html

    初心者です、、、 fedoraでFTPサーバを立ちあげました。 普段レンタルサーバなどを利用すると、ホスト初期フォルダがpublic_htmlになって、そこに、index.htmlファイルとかアップロードするとindex.htmlが開きますが、、、 自分の場合は、まずpublic_htmlフォルダがありません。 現在は、/home/xxxxx(ユーザ名)になっています。 そして、index.htmlが開きません。 解決方法よろしくお願いいたします。

  • Anonymous FTPサーバー構築及び設定について

    Red Hat Linux7Jをインストールして、Anonymous FTPサーバーを構築しようとしています。 Red Hat Linuxはインストールするだけで、Anonymous FTPができるのはありがたいんですが、ちょっとばかし設定を変更したいんです。 FTPクライアントからanonymousで接続すると、/var/ftp下のディレクトリーやファイルが公開されることになるんですが、公開するディレクトリーを別のディレクトリーに変更したいのですが、どのようにすればいいのでしょうか? ftpというユーザーのホームディレクトリーを変更すれば良いと思い、/home/ftp というディレクトリーを作成しました。 しかし、anonymousで接続してみましたが、/home/ftp下のファイルが表示されません。 どなたか教えて下さい。よろしくお願いします。

  • ftp接続で別HDDのホームディレクトリにアクセスできない

    FTPサーバーを設定していますが、一部ユーザーのログインが上手く行かずに困っています。 問題はそのユーザーのホームディレクトリを/homeとは別にしており、 FTPログイン時にそこへのアクセス権の取得に失敗しているらしいのですが、解決法がわかりません。 問題解決方法、回避方法、そもそも無理な設定なのか、ご存知の方情報をいただけるとありがたいです。 以下、使用環境と確認してみた内容です。 よろしくお願いします。 ■使用環境 OS:Fedora Core5 FTPD:vsftpd,pure-ftpd,proftpd ftpクライアント:linux,windowsのコマンドライン ■ハードディスクの構成を以下のようにしています。 hda /boot /swap / hdc /export ■設定 サーバー側の設定は問題切り分けのために下記のようにしています。 ・FTPDはchrootで上位のディレクトリアクセスを許可。 ・/exportとユーザーのホームディレクトリはパーミッション777 ■やってみたこと ホームディレクトリが/home以下にあるユーザーでftpログインして、/ に移動して ls すると /exportが表示されません。 同じように出てこないディレクトリは下記の通りです。 boot,lost+found,media,musix,mnt,selinux /etc などは移動できますが、/exportは権限がありません、と言われます。 存在しない/aa などは、存在しないと表示されます。 /home以下にホームディレクトリを移し、/export以下にls -sを張った場合はログインは上手くいっても、 リンクのアクセス時に失敗してしまいます。 telnet,sshでログインした場合は/exportを含む上記のディレクトリはアクセス可能です。

  • 電子メールの配送エラー(2) ※SELinuxが原因?

    マシンA(CentOS5)をメールサーバー、NFSサーバー、NFSクライアント、NISクライアント として動かしています。受信電子メールの各ユーザーディレクトリへの配送は procmailに任せています。なお、マシンAにはpostfixおよびdovecotをインストールしています。 ユーザーをマシンB(NISサーバー、同時にNISクライアント)に登録し、 マシンAにはユーザーの実体ディレクトリを作成しています。 このユーザー宛てに電子メールをマシンAに送ってもうまくユーザーのメールボックス~/Maildirに配送されません。 エラーメールが帰ってきます。 ここで、SELinuxを止める(# setenforce 0)とメールはきちんと配送できます。 以上からNFS経由での受信電子メールファイルの書き込みがSELinuxによって拒否されているのではないかと思います。 ただ、SELinuxのどの設定なのかが不明です。ご存知ではないでしょうか?