このページでは自宅サーバーWindowsファイルサーバーとして利用するためのSamba起動設定の反映方法について解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Sambaサーバーの構築

Sambaサーバーについて

Sambaの構成と設定の方法

SWATの準備と設定

Sambaのコントロール

Sambaの全体動作の設定

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

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

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

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

プリンタサーバーの設定

Sambaについてその他


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

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

SWATは Samba の設定を行うだけではなく、動作状態や接続しているユーザーの確認をはじめ、Samba自身の再起動や接続ユーザー毎の切断操作なども行うことができます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

このページの先頭へ↑

シェルプロンプトから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 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/smb startEnter
SMBサービスを起動中:                    [ OK ]
NMBサービスを起動中:                    [ OK ]
[root@web1 ~]# /etc/init.d/smb stopEnter
SMBサービスを停止中:                    [ OK ]
NMBサービスを停止中:                    [ OK ]
[root@web1 ~]#

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

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

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

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

"/etc/samba/smbpasswd"

"/etc/samba/smbusers"

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

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

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

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

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

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

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

[root@web1 ~]# 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 ~]#

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

このページの先頭へ↑

Sambaを自動的に起動する

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

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

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

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

このページの先頭へ↑

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

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

VIEWメニュー(Normal View〜完全表示)
VIEWメニュー(Normal View〜完全表示)

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

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

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

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

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

VIEWメニュー(Full View〜完全表示)
VIEWメニュー(Full View〜完全表示)

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

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System