このページでは自宅サーバーWindowsファイルサーバーとして利用するためのSamba起動設定の反映方法について解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
サーバーのセットアップ
Sambaサーバーの構築

Sambaサーバーについて

Sambaの構成と設定の方法

SWATの準備と設定

Sambaのコントロール

Sambaの全体動作の設定

ユーザーアカウントの設定

共有ポイントの基本的な設定

ホームディレクトリの利用

特殊な共有ポイントの設定

プリンタサーバーの設定

Sambaについてその他

サイト内検索

"STATUS"メニューでSambaをコントロール

実際に設定を行う前に、まず SWAT を使って動作状態を確認する方法を説明しましょう。

SWATの初期画面が開いたら、 "STATUS" ボタンを左クリックしてください。

SWATのHOMEメニュー
SWATの"HOME"メニュー

すると、以下のように "STATUS" メニューに変わります。

このメニューでは、まず Samba の稼動状態を確認することができます。

稼動中の場合には、 (2) (3) 、つまりSambaの本体プログラムである smbd と、 名前解決 プログラムである nmbd 「実行中」 になっているはずです。

そしてメニュー上のボタンを使って任意に起動や停止、再起動を行うことができます。

Sambaの設定を変更したときには、変更した内容を有効にするためにSambaの再起動を行う必要がありますが、このメニューから操作を行うと便利です。

ただ、SWATを使わずに、 ntsysv のメニューに登録して自動的にSambaを起動したり、あるいは プロンプト からコントロール スクリプト である "/etc/init.d/smb" を操作して起動、停止、再起動を行う場合には、この二つのデーモンは一緒に動作しますが、このメニューから デーモン を操作する場合には個別に操作する必要があります。

(4) "winbindd" は、 WindowsOS NTドメイン で管理するときに用いるデーモンです。自宅 サーバー でNTドメインを利用することはまずありませんから、これは常に停止したままでかまいません。

(1) は、ユーザーの接続状況を一定時間ごとにモニタしたい場合に左クリックします。すると、 「更新間隔」 (単位は秒)ごとに、接続状態を表示することができるようになります。

この自動更新を行わない場合は、この "STATUS" メニューが開いたときの状況が表示され続けますから、手動で更新を行って再表示したときはページ内の "STATUS" ボタンをもう一度クリックしてください。

Sambaへのユーザーの接続状態は、このメニューを下にスクロールすると見ることができます。

STATUSメニュー(下段)
STATUSメニュー(下段)

あまり行う必要はないかもしれませんが、 「切断」 の下にある × を左クリックすると、ユーザーからの接続を強制的に切断することができます。

このページの先頭へ↑

シェルプロンプトからSambaをコントロール

Samba SWAT を利用しなくとも、その他の多くの サーバー アプリケーション と同様に SSHクライアント などからサーバーにリモート接続して、 デーモン の起動、停止、再起動などの操作を行うことができます。

Sambaの起動、停止、設定の再読み込みなどは、予め準備されている シェル スクリプト "/etc/init.d/smb" を利用して行います。

"/etc/init.d/smb" は、Sambaの本体プログラムである "/usr/sbin/smbd" と、 名前解決 プログラムである "/usr/sbin/nmbd" を一度にコントロールします。

正確なスクリプトの場所は "/etc/rc.d/init.d/smb" ですが、予めディレクトリ "/etc/rc.d/init.d/" シンボリックリンク "/etc/init.d/" で作成されていますので、 "/etc/init.d/smb" でも実行することができます。

このシェルスクリプトが格納されているディレクトリには パス が通っていませんのでパス名付きで実行する必要があります パスが通っていない場所のファイルを実行するには


ムックですが管理人の
イチオシテキストです↓

書式は以下のとおりです。作業はすべてroot アカウント から行います。

/etc/init.d/smb start...Sambaの起動

/etc/init.d/smb stop...Sambaの停止

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]# /etc/init.d/smb startEnter
SMBサービスを起動中:                    [ OK ]
NMBサービスを起動中:                    [ OK ]
[root@web1 root]# /etc/init.d/smb stopEnter
SMBサービスを停止中:                    [ OK ]
NMBサービスを停止中:                    [ OK ]
[root@web1 root]#

"/etc/samba/smb.conf"を書き換えた後にその設定を有効にするには、一度Sambaを停止して起動しなおすか、以下のコマンドを実行します。

/etc/init.d/smb restart(またはreload)...Sambaの再起動

[root@web1 root]# /etc/init.d/smb restartEnter
SMBサービスを停止中:                    [ OK ]
NMBサービスを停止中:                    [ OK ]
SMBサービスを起動中:                    [ OK ]
NMBサービスを起動中:                    [ OK ]
[root@web1 root]# /etc/init.d/smb reloadEnter
smb.confファイルを再読み込み中:              [ OK ]
[root@web1 root]#

ただし、 ユーザーアカウント に対するアクセス制御を担うユーザーリストファイル、

"/etc/samba/smbpasswd"

"/etc/samba/smbusers"

つまり、接続中のユーザーアカウントに対して、ユーザーリストで接続拒否を行った場合でも、接続中のアカウントはアクセス拒否されないことに注意してください。ユーザーリストはあくまで「接続開始時」に参照されるからです。

は、ユーザーからの接続要求のたびに参照されますので、これらのファイルを編集してもSambaの再起動は必要なく設定が反映されます。

Sambaが現在稼動してるかどうかを確認するには、

/etc/init.d/smb status...Sambaの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 root]# /etc/init.d/smb statusEnter
smbd (pid 2419 2418) を実行中...
nmbd (pid 2423) を実行中...
[root@web1 root]# ps ax | grep smbdEnter パイプ処理の説明 grepコマンドの説明
2418 ?    S   0:00 smbd -D
2419 ?    S   0:00 smbd -D
 ↑Sambaが実行中であることを示します。
2435 pts/0  S   0:00 grep smbd
 ↑このgrepコマンドのプロセスです。
[root@web1 root]# ps ax | grep nmbdEnter
2423 ?    S   0:00 nmbd -D
 ↑nmbdが実行中であることを示します。
2437 pts/0  S   0:00 grep nmbd
 ↑このgrepコマンドのプロセスです。
[root@web1 root]# /etc/init.d/smb stopEnter
SMBサービスを停止中:                    [ OK ]
NMBサービスを停止中:                    [ OK ]
[root@web1 root]# /etc/init.d/smb statusEnter
smbdは停止しています
nmbdは停止しています
[root@web1 root]# ps ax | grep smbdEnter
2458 pts/0  S   0:00 grep smbd
[root@web1 root]# ps ax | grep nmbdEnter
2460 pts/0  S   0:00 grep nmbd
[root@web1 root]#

SWATを利用して設定を行う場合には設定の書式に間違いが起こることはまずありませんが、大幅に設定を変更したときや、思ったとおりに動作しないようなときは testparm コマンドでチェックを行うことができます。

[root@web1 root]# testparmEnter
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[tmp]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Enter
# Global parameters
[global]
    workgroup = MYGROUP
    server string = Samba Server
    security = SHARE
    log file = /var/log/samba/%m.log
    max log size = 50
     中略(/etc/samba/smb.confの内容が表示されます)
    read only = No
    guest ok = Yes
[root@web1 root]#

ただし、この方法でチェックできるのは「文法上の間違い」だけです。設定そのものの間違いはチェックできませんので過信しないようにしてください。

このページの先頭へ↑

Sambaを自動的に起動する

Samba 稼動させる ファイルサーバー はいつでもすぐに使えるようにしておかなければ、その恩恵に与れませんから常に動作させておきましょう。

構築中のLinuxサーバー が起動したときに自動的にSambaの デーモン が起動するように設定するには、 ntsysv コマンド で設定画面を開き、 "smb" にチェックを入れておきます。

Sambaをntsysvで自動起動登録する
"Samba"を"ntsysv"で自動起動登録する

設定が終わったら念のため一度 構築中のLinuxサーバー reboot コマンドで再起動し、上のパートで説明した動作確認の方法で、きちんと起動しているかどうかをチェックしてみてください。

このページの先頭へ↑

"VIEW"メニューで設定を確認

SWAT のページから "VIEW" メニューを左クリックすると、 Samba のメイン設定ファイルである "/etc/samba/smb.conf" の現在の設定内容が表示されます。

VIEWメニュー(標準表示)
VIEWメニュー(標準表示)

SWATは ディレクティブ ごとにパラメータを入力するタイプの設定ツールですが、インターネット上あるいは解説書などでは設定ファイルの内容をそのまま掲載している場合がほとんどです。

そこで、実際にSWATによって設定した内容とそれらの情報を照合するような場合には、この "VIEW" メニューが役に立ちます。

また、 "/etc/samba/smb.conf" のディレクティブには非常に多くの デフォルト 設定値があります。

実際のところ、大部分のディレクティブはデフォルトのままで構いませんから、それらの多くは最初から "/etc/samba/smb.conf" には記述しないのが普通です。

ところが、ここで 完全表示 ボタンを左クリックすると、 "/etc/samba/smb.conf" に記述されていないすべてのディレクティブの設定内容を表示させることができます。

VIEWメニュー(完全表示)
VIEWメニュー(完全表示)

これらのページを印刷するか、内容をコピー&ペーストして テキスト ファイルとして保存しておけば、設定値のバックアップを取ることができます。

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux