web-dev-qa-db-ja.com

LinuxユーザーパスワードとSambaパスワードを共有する方法

独自のユーザーアカウント管理を備えたLinuxシステムをセットアップしました。 (DNS以外の)ドメインの一部ではありません。ここで、ユーザーがWindowsシステムにホームディレクトリをマウントできるようにします。

これを行う1つの方法は、2つのユーザーアカウント管理を維持することです。1つはpasswdで維持され、もう1つはsmbpasswdで維持されます。これは不必要に複雑に思えます。 1つだけ維持したい。

どうすればこれを最適に配置できますか?システムはUbuntu12.04(デスクトップ)を実行しています。

3
reinierpost

[〜#〜] pam [〜#〜] の/ etc/passwdのサポートモジュールを使用します。


更新:

これらの認証メカニズムを簡単な方法で統合できない根本的な理由があります。

  • UnixおよびLinuxの/ etc/passwd認証では、ユーザーのパスワードをサーバーに提示する必要があります。これは暗号化されたチャネル内にある可能性があります(秘密鍵認証を使用しない場合のSSHパスワード認証のように)。
  • NTLMおよびMS-Kerberos認証はパスワードを送信せず、パスワードのハッシュを送信し、認証サーバーはユーザーのパスワードのコピーを取得し、同じアルゴリズムを使用してハッシュを作成し、ハッシュ結果をクライアントによって提示されたハッシュと比較します。/etc/passwdはパスワードを保存せず、異なるハッシュアルゴリズムを使用するため、/ etc/passwdにはNTLM/Kerberosクライアントを認証するための情報が不十分です。
  • 本当に古いSMB認証プロトコルはパスワードを渡します(プレーンテキスト、つまり保護されていません)。したがって、SMBサーバーは、この/ etc/passwdタイプのハッシュを計算できます。/etc/passwdに保存されているハッシュと比較してください。

上記のことから、プレーンテキストのパスワードがLANを通過するのを避けたい場合は、パスワードを保存するための別のファイル(smbpasswd)またはドメインコントローラーが必要になります。

2
RedGrittyBrick