smbd が起動してもすぐ終了しちゃう現象を解決した話。

smb.confのコメントルールが変わった?? (<-変わってません)

f:id:else-something:20160713110808j:plain

アップデートを走らせたあと、ファイルサーバが使えないと思ったら、smbdが起動できなかったようで。。。

原因:smb.confの記述がおかしかった、ということになるのだけれども。。。

これまで、つい数分前まで使えてたコンフィグファイルで、 いきなり使えなくなるとは思わなかったわ。。。

調べたら、もともとコメントのルールが

Chapter 11. smb.confファイル:
セミコロンかシャープ記号で始まる行(';'か'#')。

ってことなので、悪いのは僕なのだけれども。。。

環境:

Ubuntu 14.04.4 LTS x86_64
smbd : Version 4.3.9-Ubuntu

現象:

コマンドラインからサービスを起動しようとしても、
起動してる風なメッセージが返ってくるが、実態はサービスが落ちている状態。

$ sudo service smbd start
$ smbd start/pre-start, process 3845
$ sudo service smbd status
$ smbd is not running

smbdが起動していないので、 /var/log/samba/log.smbd にはなにもログが残っておらず、 /var/log/system では、こんな感じ。

init: smbd main process (3345) terminated with status 1
init: smbd main process ended, respawning
init: smbd main process (3348) terminated with status 1
init: smbd respawning too fast, stopped

testparm で、コンフィグチェックしたところ、以下のような返答が。

$ testparm
$ .....
$ unix extensions(no # 2010-11-12追加: value is not boolean!
$ .....

実際のsmb.confでの記述はこう。

unix extensions = no # 2010-11-12追加

なんで、'=' が '(' になってるんだ。。。

解決策:

'=' が '(' になってる理由はわからないけれど、 行中の'#'はコメント記号として認識してくれなかったみたいで、

# 2010-11-12追加
unix extensions = no

このように記述することで、解決しました。。。

もともとコメントのルールが

Chapter 11. smb.confファイル:
セミコロンかシャープ記号で始まる行(';'か'#')。

ってことなので、ルールはしっかり守らなきゃね、というお話。