意識低い系会社員

意識低い系会社員の日常

【スポンサーリンク】

sambaの認証で泥沼にハマった話

【スポンサーリンク】

前置き

こんにちは。

会社の開発でUbuntuとWindows間のファイルのやり取りをsambaでやってるんですが、sambaをアップデートしたら突如WindowsからUbuntuのsambaにアクセスできなくなって泥沼にハマりました。

 

環境

Windows10で、Virtual Boxを使用してUbuntuを動かしています。

CPUとかメモリのスペックは今回は関係ないので割愛します。

 

事象

ubuntuのsambaをアップデートしました。

設定ファイルなどは特に弄っていません。

そしたらWindowsからsambaにアクセスしようとしたときに、どんなにユーザ名とパスワードを入れなおしても認証が失敗します。

f:id:amistad06-k:20190611081825j:plain

sambaの認証画面

上の画像の認証画面で今まで入れていたユーザ名とパスワードを入れてもなぜか認証が通らなくなりました。

エラーは下の画像。

f:id:amistad06-k:20190611082202j:plain

認証エラー画面

ユーザ名もパスワードも今まで入れていたものを使用しているのに、何故かパスワードが間違っていると怒られる。

sambaのユーザーを作り直してもダメ、パスワードを変えてもダメ、sambaを再起動してもダメ、設定を見ても特にダメそうなところは見つからない。

みたいな状況でした。

ちなみに認証画面すら出ない人は設定が間違ってる可能性が高いです。

 

解決策 

Ubuntuのsambaの設定ファイル(/etc/samba/smb.conf)に以下の記載を追記します。

 

ntlm auth = yes

 

ちなみにglobalに書かないと上手く動かないそうです。

 

原因

samba 4.5からNTLMv1認証がデフォルトで無効になっているらしい。

だからsambaの設定ファイルでそれを有効にする必要があったと。

samba 4.4以前のものを使っている人はsambaをアップデートしたタイミングでハマると思います。

 

参考URL

qiita.com

 

迷走していた時に役に立ったコマンドとか

sambaのユーザを一覧表示するコマンド

-vオプションを付けることでそのユーザの詳細が見れます。

sudo pdbedit -L -v

 

ユーザの追加をするコマンド

[USER]のところには任意のユーザ名を入れます。

sudo pdbedit -x [USER]

 

ユーザを削除するコマンド

[USER]のところには消したいユーザ名を入れます。

sudo pdbedit -x [USER]

 

sambaの状態を確認するコマンド

sambaサービスが動いているかどうかを確認できます。

service smbd status

 

sambaを再起動するコマンド

smbdとnmbdを一緒に再起動します。

sudo systemctl restart smbd nmbd 

 

sambaの設定が正しいか見るコマンド

エラーっぽい文字列が表示されなければOK。

testparm

 

sambaの設定ファイル

設定ファイルです。

/etc/samba/smb.conf

 

まとめ

sambaの情報を調べても、ネットに転がってるのは結構古い情報が多いのでこの情報に辿り着くまでかなり時間がかかりました。

ほぼ1日かけて、成果はsmb.confに追記した1行だけ。

あるあるですけど時間を無駄にした感がとても強いです。

みなさんもsambaに限らずアップデートには気を付けましょう。

 

おわり。

【スポンサーリンク】