内部的には、Sambaは同じものを保管する LMおよびNTハッシュ Windowsと同じように、NTLM認証に使用されます。
NTハッシュは、UTF-16リトルエンディアンエンコーディングのパスワードに適用されるMD4アルゴリズムを使用します。あなたはそれを計算するために普通の道具を使うことができます、例えば:
#!/usr/bin/env perl
use Digest::MD4 qw(md4_hex);
use Encode qw(encode);
chomp(my $pw = <STDIN>);
print md4_hex(encode("UTF-16LE", $pw)), "\n";
またはOpenSSL:
printf '%s' "$pw" | iconv -t utf16le | openssl md4
LMハッシュは数秒で解読できます。誰もそれをもう使いません。使用しないでください。最新のWindows版、そして(うまくいけば)Sambaは、入力に関係なく、 '空白の'パスワードのLMハッシュだけを保存する。
ただし、スクリプトの一部としてハッシュを含める とても悪い考えです パスワード自体を保持するよりもはるかに良いわけではありません。元のパスワードを入手したい場合、無塩MD4ハッシュは解読するのが非常に簡単です。それがなくても、ハッシュはパスワードと同等です - ハッシュを持っている人なら誰でもパスワード自体を必要とせずにNTLM認証を実行できます。 (Windowsは、管理者でさえも誰にも直接SAMにアクセスすることを許可していないので、最初はsaltは不要であると考えられていました。)
smbpasswd
? Sambaの内部データストレージを台無しにすることは、あまりお勧めできません。