● SELinux の基本コマンド ◆ls オプションに -Z をつければ、ポリシー・タイプを表示することができます。 # ls -Z ◆chcon ファイルやディレクトリのタイプを一時的に変更します。 # chcon -t samba_share_t /var/smb -R -u でユーザ、-r でロールを変更できる。 この例では、/var/smb ディレクトリ以下のディレクトリとファイルすべてのポリシー・タイプを samba_share_t に変更しています。 ◆restorecon ポリシー・タイプの不整合を修正します。 # /sbin/restorecon -RF /var/smb -Rは再帰的に適用、-Fは強制的に適用します。 (強制でないと変わらないときがある) ◆setsebool 各booleanパラメータを変更します。 # setsebool -P allow_smbd_anon_write 1 -Pオプションは、システムを再起動しても設定を反映するようにする。 ◆semanage ファイルに関するタイプのほか、ポートに対するタイプも変更可能なコマンドです。chcon では file_contexts ファイル内の内容は変更できないので、yum update などでポリシーをアップデートした場合は変更内容が消えてしまいます。semanage では file_contexts ファイルの内容を書き換えるのでそのような問題は起きません。 # semanage fcontext -a -t samba_share_t "/var/smb/(/.*)?" ・設定内容を反映させるには restorecon コマンドを使います。 # restorecon -RF /var/smb ・設定内容を削除するには -a の代わりに -d を使用します。 # semanage fcontext -d -t samba_share_t "/var/smb/(/.*)?" # restorecon -RF /var/smb ・ポートに対するタイプを見るには # semanage port -l ・Apache に TCP 8080 番ポートを使えるようにさせるには # semanage port -a -t http_port_t -p tcp 8080 ポートの場合は即座に設定が反映されます。
● booleanパラメータの調整とトラブルの回避
ポリシーを変更せずにトラブルを解決したり,セキュリティ・レベルを調整したりするのに役立つのが,booleanパラメータです。booleanパラメータを切り替えて,不要なアクセス許可を与えないようにしていけば,セキュリティを高められます。逆に,必要なアクセス許可をbooleanパラメータの切り替えで設定可能な場合は,トラブル解決にも役立ちます。
- Apacheが他のアプリケーションに接続できない
【解決法】 httpd_can_network_connectをonにする - Sambaのホームディレクトリを公開できない
【解決法】 samba_enable_home_dirsをonにする - Javaアプリケーションが動かない
【解決法】 allow_execmodをonにする - ログにexecmod、execstackのアクセス拒否が出力される
【解決法】 allow_execmod/allow_execstackをonにする
《具体的な設定例》
「Sambaでホーム・ディレクトリを公開できない」という問題を「samba_enable_home_dirs」のon/offを切り替えて対処してみましょう。
- samba_enable_home_dirsを次のようにonに切り替えます。
# setsebool -P samba_enable_home_dirs 1
- onに切り替わったことを確認します。
# getsebool samba_enable_home_dirs
samba_enable_home_dirs -->on
0 件のコメント:
コメントを投稿