PokuG stdio.h

stdio.hはおまじない

MENU

Linuxのsamba4とMS-DOS、Windows95/98の共有に必要な設定

f:id:yarufu101:20200526195049p:plain

Linuxのsamba4とwindows95/98の共有に必要な設定です。
主にPC98などのレトロPCが接続するときに使うと思います。

知っておきたい知識

LAN Manager 認証

Windowsのファイル共有における認証は、LAN Manager認証と呼ばれる認証方式が利用されている。
古い順に

・LM認証
・NTLM認証
・NTLMv2認証

の種類がある。
Windows NT4.0 SP3以前やWindows95/98といった古いWindowsは、NTLMv2がサポートされておらず、LMやNTLMしか使えない。

よって、ファイルサーバーを構築する際にLM認証、NTLM認証をするように設定しないと、MS-DOS、windows95/98とファイル共有はできない。
古い認証は当然の如くセキュリティが甘いのでMS-DOS、Windows95/98が接続しないのであれば上記設定は避けるべき。

設定方法

グローバルセクション追加

グローバルセクションに以下追加。

#95/98設定

server min protocol = LANMAN1


ntlm auth = Yes
lanman auth = Yes

#client ntlmv2 auth = No
#client lanman auth = Yes

#encrypt passwords = yes
#client plaintext auth = Yes
#server signing = disabled

dos charset = CP932
unix charset = UTF-8


#95/98設定

 

server min protocol = LANMAN1

上はSamba4.13から必須です。Samba4.13未満ならいりません。


ntlm auth = Yes
lanman auth = Yes
の上の2つは必須。


以下2つはsamba4からWindows95/98へアクセスする際に必要な設定。
Windows95/98からsamba4へアクセスするだけなら不要。

#client ntlmv2 auth = No
#client lanman auth = Yes

以下2つはいらないが、WIndows95/98からsamba4へ接続できなかったら、コメントアウトしたらもしかしたらアクセスできるようになるかもしれないとネットで見かけた。
しかし、これをコメントアウトしないとアクセスできなかったことは一度もない。

#encrypt passwords = yes
#client plaintext auth = Yes
#server signing = disabled

あとは、
「adduser」コマンドでLinuxユーザーを作成し、
「smbpasswd」でsambaのパスワードを設定する。

 

Linuxユーザーの作成

Linuxユーザーの作成例

sudo adduser test_user

 

sambaのパスワード設定

sambaのパスワードの設定例

sudo smbpasswd -a test_user

 

デーモン再起動

デーモン再起動は以下コマンド。

ラズパイ4の場合

sudo service smbd restart

sudo service nmbd restart

 

注意点

「lanman auth」がSamba 4.11から非推奨など、そのうちsambaがバージョンアップするとMS-DOS、Windows95/98からSambaへのアクセスできなくなる可能性大。

参考

ntlm auth = Yes
SambaサーバのNTLM認証を許可するか。
lanman authとntlm authの両方をNoにすればNTLMv2のみの認証になる。
クライアントにWin95/98/Me/NTがなければNoがセキュリティ的に推奨される。

 

lanman auth = Yes
SambaサーバのNTLM認証を許可するか。
lanman authとntlm authの両方をNoにすればNTLMv2のみの認証になる。
クライアントにWin95/98/Me/NTがなければNoがセキュリティ的に推奨される。

Samba 4.11 から非推奨。 将来は、現在の既定値である lanman auth = no が強制された動作となる。

 

client lanman auth = Yes
クライアントのLANMAN認証を使用するか。
クライアントにWin95/98/MeがなければNoにできる
Noにするのがセキュリティ的に推奨値。
Samba 4.13 以降廃止予定。将来は、現在の既定値である client NTLMv2 auth = yes が強制的に設定される。

 

encrypt passwords = yes
暗号化パスワードの利用。規定値はYes。Yesの利用が望ましい。
これはコメントアウトしてもいいかもしれない。

 

client plaintext auth = Yes
クライアントが平分パスワードを送信するか。
Noにするのがセキュリティ的に推奨値。
これはコメントアウトしてもいいかもしれない。

 

client ntlmv2 auth = No
クライアントのNTLMv2認証を使用するか。
クライアントにWin95/98/Me/NTがなければYesにできる
Yesにするのがセキュリティ的に推奨値。
Samba 4.13 以降廃止予定。将来は、現在の既定値である client NTLMv2 auth = yes が強制的に設定される。

 

server signing = disabled
SambaサーバがSMB署名を強制するか(規定値はAuto)。
これはコメントアウトしてもいいかもしれない。