SELinuxでに悩まされた1日

RedHad6.3に「vsftpd」をインストールして、ftpサーバーを構築していたのですが、本日突然、/homeにアクセスできない。「FTP エラー 550 Permission Denied」となると障害が発生。数日前までは、問題なく稼働してたのになぜだろうと、調べました。

結局、1日、その調査に掛かり切りになりました。 結論から言うと、SELinuxのftpポリシーが知らない間に変わっていたと言う問題だった。 素直、「SELinux」っなにと言う状態だったので一応メモです。

SELinuxってなによ、どうしたら改善できるの

と言う手探り状態で、Google先生に聞きまくりました。 とりあえず、参考まで。

http://ja.wikipedia.org/wiki/SELinux http://www.linuxmania.jp/selinux_introduction_1.html

全然読んでも分からないけど、「ftphomedir」と言う設定があるらしい。 と言うことで、見よう見真似。

# getsebool ftphomedir
ftphomedir --> off
# setsebool -P ftphomedir=1
# getsebool ftphomedir
ftphomedir --> on
# /etc/init.d/vsftpd restart
vsftpd を停止中: [ OK ]
vsftpd 用の vsftpd を起動中: [ OK ]

これで解決しました。 いつの間に変わってしまったかは、謎!?

誰かに聞けばすぐに分かったんだろうか・・・

自分で調べて解決する喜びと、人に全部教えて貰って解決する喜びには違いがありますが、それは作業時間(コスト)の問題でもあります。

SELinuxを無効化する

SELinuxはセキュリティ管理をしてくれるとても大事なモジュールですが、慣れていないとSELinuxによる強力なアクセス制限によってインストール作業や運用業務でつまづくことがあります。

本来であればSELinuxをマスターすることが必要ですが、緊急時にはSELinuxの機能を停止する方法が手っ取り早い解決策となります。今回はその停止方法、無効化する方法をメモです。

・SELinux動作状態の確認

# getenforce
結果は、
enforcing SELinux機能、アクセス制御が有効
permissive SElinuxは警告を出力するが、アクセス制限は無効
disabled SElinux機能、アクセス制御が無効

・更に詳細に確認

# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted

・SELinuxを一時的に有効・無効化

有効# setenforce 1
無効# setenforce 0

・SELinuxを恒久的に有効・無効化

# vi /etc/selinux/config
SELINUX=enforcing # 有効

     or

SELINUX=disabled # 無効

再起動して終了。


UNIX


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-11-30 (金) 13:37:57 (2179d)