Monthly Archives: 7月 2010
SambaとSELinuxではまる。の章
ローカルエリア上の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起動したままどうにかなるか試そうかな。