これはRHEL / CentOS> = 7.6のすべてのSambaバージョンで機能します。
私はSamba >= 4.8だと思う。
すべてのユーザーアカウントにSambaへのアクセスを許可するには、次のようにしましたsmbpasswd -a <user>
。したがって、ユーザーのシステムログインパスワードはSambaパスワードとは別のものです。
そのような方法がありますか?
- ユーザーは決してする必要はありません
smbpasswd
- Sambaはパスワードの問題を解決できます
/etc/shadow
答え1
問題:互換性のないパスワードハッシュ方法
Windows NT4 / Windows 2000の頃には、要件に合った方法でSamba認証を設定することが可能であり、実際には非常に一般的でした。しかし、それでもSamba文書には明らかなセキュリティ上の欠陥があるため、これを強くお勧めしませんでした。ネットワーク経由で暗号化されていない状態でパスワードを送信する必要があります。当時もこれは悪い考えでした。最新のワイヤレスネットワークと独自のデバイスインポートソリューションが広がるにつれて、ネットワーク経由で暗号化されていないパスワードを送信することはまったく許容されません。
WindowsとLinuxはどちらもシステムパスワードをプレーンテキストとして保存しません。代わりにパスワードと塩価値は一方向ハッシュ、ソルト値と結果のハッシュ値を保存します。したがって、誰も(システム管理者を含む)任意の目的で保存されたハッシュからプレーンテキストバージョンのパスワードを簡単に回復することはできません。常に無差別の代入または巨大な虹のテーブルが必要です。
パスワードを確認する必要がある場合、保存されたパスワードはいいえ復号化は基本的に不可能だからです。代わりに、アルゴリズムは関連するユーザーのソルト値を見つけ、それを使用してユーザーが入力したパスワードをハッシュし、結果のハッシュを保存されたハッシュと比較します。正確に一致すると、パスワードは正しいです。
ネットワーク経由でこれを行うには、追加の保護も必要です。サーバーがクライアントにソルト値のみを提供し、クライアントがハッシュされたパスワードを提供するのを待つ場合、ネットワークを介して転送されるデータは次のとおりです。パスワードに該当スヌーピング攻撃者は、修正された悪意のあるクライアントを介してハッシュをそのまま再利用する可能性があります。これを「再生攻撃」または「ハッシュ攻撃通過」といいます。
したがって、WindowsまたはSambaクライアントがネットワーク経由でパスワードを暗号化する暗号化された認証パケットを生成するときは、再生攻撃保護と互換性のあるハッシュスキームを使用する必要があります。ただし、これにより、サーバーがWindowsスタイルのパスワードハッシュをプレーンテキストで返すことも防止されます。これは/etc/shadow
。
解決策
この問題を解決できる唯一の場所はパスワード変更プロセスです。この時点で、サーバーはパスワードをハッシュして保存できるようにパスワードのプレーンテキストバージョンを知る必要があります。実際、このプロセスを変更して更新できます。両方システムログインパスワードとSambaパスワードを同時に入力してください。
Sambaサーバーがドメインコントローラーでない場合は、ファイルunix password sync
でパラメータを有効にし、Sambaパスワードが更新されると、Sambaがそのシステムログインパスワードを自動的に更新するようにsmb.conf
指定できます。passwd program
これを行うには、ユーザーに常に使用し、使用しないように指示するsmbpasswd
必要がありますpasswd
。
または、pam_smbpass.so
システムのPAM構成にPAMモジュールを追加することもできます。 RHEL/CentOS 6.x および 7.x 用の RPM パッケージで提供されます。
これを使用する方法は2つありますpam_smbpass.so
。 PAMを使用するすべてのサービスのデフォルトシステムパスワードストアとしてSambaパスワードストアを使用するか(古典的なソースコードで構築された恐ろしいレガシーUnixプログラムを使用する必要がある場合を除き、デフォルトではすべてのサービスはPAMを使用します)一般passwd
コマンド(またはシステムログインパスワードを更新する他のPAMベースの方法)が/etc/shadow
Sambaパスワードも更新するようにPAMベースのパスワード変更プロセスに挿入するだけです。その後、ユーザーはpasswd
常にsmbpasswd
。
答え2
大規模なユーザープロモーションにSambaを使用する予定がない場合は、独自の方法で使用することをお勧めします。 Sambaには、デフォルトで(2)個のユーザー名/パスワードデータベースバックエンドオプションがあります。tdbsam(デフォルト)ldapsam。 ldapをインストール/構成するには、Sambaを設定して使用できます。詳細を見るman smb.conf
。
編集:WindowsドメインコントローラでSambaを認証することもできます。