Monthly Archives: 7月 2010

SambaとSELinuxではまる。の章

0
Filed under Cent, Linux, Samba
Tagged as ,

ローカルエリア上のPCにCentOS5といういわゆるLinux環境があって、
そこにパソコンから接続できるようにSambaをいれようとしたんですが、

Jul 30 04:35:33 hattara smbd[7963]: [2010/07/30 04:35:33, 0] smbd/service.c:make_connection_snum(1013)

Jul 30 04:35:33 hattara smbd[7963]: ‘/home’ does not exist or permission denied when connecting to [haragon.local] Error was 許可がありません

こんな感じのエラーがズラズラとでてくるわけですよ。
こちらをグーグル先生にお問い合わせして調べたところ、
SELinuxというセキュリティ機能が問題なんじゃないかというのがでてきたわけです。

特定ユーザ(Sambaでログインするユーザ)の領域だけを許可するときは、

/usr/sbin/setsebool -P samba_enable_home_dirs 1

を使うようですよ。
たとえば、testというUnixユーザを作ってあって、
そのユーザの領域が/home/testだったら、そこをSamba共有するなら
このコマンドでいいんではなかろうか。
※使ってないので、わからんけど。

で、今回私がやりたいのは、/homeというシステム領域部分を
がっぽりと ぼっこりと共有していきたいので、

/usr/sbin/setsebool -P samba_export_all_rw on

上記のようなコマンドが必要なようだ。
というのが、書いてあったが、ダメだった。。

どうせLAN内で利用するサーバだし勉強用のやつなんで、
とりあえず今回はSELinuxとオサラバすることで、回避しようと思う。

※ちなみに本当にSELinuxが動いてるか確認する場合は

/usr/sbin/getenforce

このコマンドの結果でわかります。


Enforcing なら有効
Permissive なら無効

一時的にSELinuxを無効(オフ)する方法

/usr/sbin/setenforce 0

一時的にSELinuxを有効(オン)する方法

/usr/sbin/setenforce 1

上記の方法でSELinuxの状態を変更することはできるわけだけども、
これは永続的な対策にはならないのです。
サーバを再起動すると、また設定ファイルを読み込んで状態は戻ります。
そこで、永続的に設定を適用したい場合は、以下のようにします。

永続的にSELinuxを無効(オフ)する方法

vi /etc/selinux/config

SELINUX=enforcing
          ↓
SELINUX=disabled

永続的にSELinuxを有効(オン)する方法

vi /etc/selinux/config

SELINUX=disabled
          ↓
SELINUX=enforcing

これでとりあえず大丈夫。
SELinuxを停止したあとは、問題なくSambaにつながりましたとさ。

よかったよかった。
気が向いたら、今度SELinux起動したままどうにかなるか試そうかな。