質問: yes その後、windowsは資格情報を要求しますが、何を入力しても、常に拒否されます。777を許可せずにwindowsドメインコンピュータからsamba共有への書き込みアクセスを取得する正しい方法は何ですか?
回答: smb.confの共有設定で、write list = ...行を使用して、共有への書き込みを許可するユーザーまたはグループ、あるいはその両方の名前を指定する必要があります。例:[myshare] ... write list = my_linux_username 次に、smbpasswdコマンドを使用して、sambaのmy_linux_usernameを認証するためのパスワードを設定する必要があります。sudo smbpasswd -a my_linux_username /etc/shadowの標準システムパスワードは、smbプロトコルで使用されるパスワードハッシュアルゴリズムと互換性のないアルゴリズムでハッシュされるため、この手順が必要です。クライアントがsmb認証パケットを送信すると、ハッシュされたパスワードが含まれます。同じアルゴリズムを使用する別のパスワードハッシュとのみ比較できます。(前のミレニアムからの非常に古い指示では、sambaでパスワードの暗号化を無効にし、特定のレジストリハックを使用してwindowsが暗号化されていないパスワードをネットワークに送信できるようにすることを推奨する場合があります。このアドバイスは廃止です:これらのレジストリハックはは現在のバージョンのwindowsでは機能しなくなり、ネットワークトラフィックを監視できる人なら誰でも簡単にパスワードを取得できるようになります。)クライアント側でやらなければならないことがもう1つあります。 windowsクライアントシステムがactive directoryドメインに参加していて、adアカウントでログインしている場合、非修飾のすべてのユーザー名の前にユーザーのadドメインの名前が自動的に付加されます。つまり、認証されるのはad_domain\your_usernameだけではなく、 your_username。ローカルアカウントでログインしている場合(またはクライアントシステムがadドメインに参加していない場合)、別のドメイン名を指定しない限り、windowsは自動的にユーザー名の前にクライアントホスト名を付ける場合があります。スタンドアロンのwindowsクライアントからスタンドアロンのsambaサーバーに正常にログインするには、ユーザー名をsamba_server_hostname\your_usernameとして指定する必要がある場合があります。そうでない場合、sambaはユーザー名をwindows_client_hostname\your_usernameとして認識し、windows_client_hostnameという名前のドメインに属するユーザーを確認する方法がないと結論付け、ログインを拒否します。(sambaの新しいバージョンmayには、この特定の状況に対する組み込みのチェックがあり、それでもアクセスを許可する場合があります。しかし、これは基本的にsmb認証が機能する方法です"そして、もしあなたが古いバージョンのsambaを扱う必要があるなら、それはまだ役に立つかもしれません。)