部下にファイル&プリンタサーバとして使うLinuxサーバーを一台仕立てさせたが、クライアントPC(Windows Xp or 7)から接続できない。
他の案件がいろいろあって手をつけずにいたがようやく落ち着いてきたので、ちょっと設定を手伝うことにした。
#つーか自分で出来ないからやってくれと頼まれた(苦笑)。
まずサーバを起動してsmbが動作しているかを見てみるとプロセスがいない。
あれ?と思って「/sbin/chkconfig –list | grep smb」で起動設定を見るとランレベル2-5はonになっている。
sambaサービスは起動されているはずなのだが、動いていないのでX上のsmb設定ツールを起動して設定を確認してみると、多少設定に(システム上ではなく運用上の)問題があったので修正してサービスの再起動をしようとしたところ、SElinuxからの警告が出た。
なんてことはない、SElinuxが有効になっていたのでサービスの起動が出来ず、外からのアクセスも制限されていただけだった。
「/usr/sbin/getenforce」でSElinuxの状態を確認すると「Enforcing」と出たので、間違いなくSElinuxが有効になっていた。
とりあえず一時的にSElinuxを無効化するために、「/usr/sbin/setenforce 0」を実行してSElinuxの動作を止め(実際には「permissive(警告は出すがアクセス制限はしないモード)」になるだけで、完全には無効にはなっていない)、クライアントからの接続を試したところ無事に接続できた。
やはりSElinuxが動作していたのが原因だったようなので、動作させないように設定することにして、
「/etc/sysconfig/selinux(/etc/sysconfig/selinux/configへのシンボリックリンク)」という設定ファイルの中の
SELINUX=enforcing
となっている行を修正し、
SELINUX=disabled
に変更し、再起動するとSElinuxは無効化されていて、クライアントからの接続も問題無く可能になっていた。