前置き
こんにちは。
会社の開発でUbuntuとWindows間のファイルのやり取りをsambaでやってるんですが、sambaをアップデートしたら突如WindowsからUbuntuのsambaにアクセスできなくなって泥沼にハマりました。
環境
Windows10で、Virtual Boxを使用してUbuntuを動かしています。
CPUとかメモリのスペックは今回は関係ないので割愛します。
事象
ubuntuのsambaをアップデートしました。
設定ファイルなどは特に弄っていません。
そしたらWindowsからsambaにアクセスしようとしたときに、どんなにユーザ名とパスワードを入れなおしても認証が失敗します。
上の画像の認証画面で今まで入れていたユーザ名とパスワードを入れてもなぜか認証が通らなくなりました。
エラーは下の画像。
ユーザ名もパスワードも今まで入れていたものを使用しているのに、何故かパスワードが間違っていると怒られる。
sambaのユーザーを作り直してもダメ、パスワードを変えてもダメ、sambaを再起動してもダメ、設定を見ても特にダメそうなところは見つからない。
みたいな状況でした。
ちなみに認証画面すら出ない人は設定が間違ってる可能性が高いです。
解決策
Ubuntuのsambaの設定ファイル(/etc/samba/smb.conf)に以下の記載を追記します。
ちなみにglobalに書かないと上手く動かないそうです。
原因
samba 4.5からNTLMv1認証がデフォルトで無効になっているらしい。
だからsambaの設定ファイルでそれを有効にする必要があったと。
samba 4.4以前のものを使っている人はsambaをアップデートしたタイミングでハマると思います。
参考URL
迷走していた時に役に立ったコマンドとか
sambaのユーザを一覧表示するコマンド
-vオプションを付けることでそのユーザの詳細が見れます。
ユーザの追加をするコマンド
[USER]のところには任意のユーザ名を入れます。
ユーザを削除するコマンド
[USER]のところには消したいユーザ名を入れます。
sambaの状態を確認するコマンド
sambaサービスが動いているかどうかを確認できます。
sambaを再起動するコマンド
smbdとnmbdを一緒に再起動します。
sambaの設定が正しいか見るコマンド
エラーっぽい文字列が表示されなければOK。
sambaの設定ファイル
設定ファイルです。
まとめ
sambaの情報を調べても、ネットに転がってるのは結構古い情報が多いのでこの情報に辿り着くまでかなり時間がかかりました。
ほぼ1日かけて、成果はsmb.confに追記した1行だけ。
あるあるですけど時間を無駄にした感がとても強いです。
みなさんもsambaに限らずアップデートには気を付けましょう。
おわり。