Kerberos オプションは smbclient では使用されなくなりますが、動作する唯一のオプションです。

Kerberos オプションは smbclient では使用されなくなりますが、動作する唯一のオプションです。

Slackware 15(Sambaバージョン4.15.10)でgssapi / kerberos認証を使用してsmbclientを実行したいと思います。もちろん、ログイン時にKerberosクライアントキャッシュが設定されており、tmpディレクトリにファイルキャッシュを表示できます。 Pamは、パスワードセッションと認証にpam_krb5を使用するように設定されています。

新しい --use-kerberos.. を使用すると、パスワードを求めます!

smbclient -U pino --use-kerberos=required \\\\myhost\\Pub 
Password for [MYDOM\pino]:

-U pinoを削除することは、sudo su - Pinoを実行するか、Pinoとしてログインするのと同じです。

廃止予定の -k..works を使用する場合

smbclient -U pino -k \\\\myhost\\Pub 
    Password for [MYDOM\pino]:
    WARNING: The option -k|--kerberos is deprecated!
    Try "help" to get a list of possible commands.
    smb: \> 

-kなしでkerberosを使用して入力する方法は?

編集:バグかもしれません。または、設定が正しくありませんが、smbclient -U pino \\myhost\Pub を使用しています。

パスワードを聞いてみると、..Enterを押してkerberosを使用しました!

シナリオ1:チケットを受け取り、パスを要求しました。Enterを押してKerberosを使用します。

smbclient  \\\\myhost\\Pub
Password for [[email protected]]:
Try "help" to get a list of possible commands.
smb: \> 

ケース2:kdestroy、認証失敗(論理、OK、右)

kdestroy
smbclient  \\\\myhost\\Pub
Password for [[email protected]]:
gensec_spnego_client_negTokenInit_step: Could not find a suitable mechtype in NEG_TOKEN_INIT
session setup failed: NT_STATUS_INVALID_PARAMETER

今質問は..なぜまだパスワードを要求するのですか?

答え1

解決策を見つけてください。

kerberosが必要です(ユーザーroaimaのためにsmb.confで永久に設定することもできます)。 -N にはパスは必要ありません。

echo mypass|kinit
Password for [email protected]: 
smbclient -N --use-kerberos=required '\\myhost.priv\myshare'
Try "help" to get a list of possible commands.
smb: \> 

「古い」構文を使用してもうまく機能します。

 echo mypass|kinit
 Password for [email protected]: 
 smbclient -N --use-kerberos=required \\\\MYHOST\\myshare
 Try "help" to get a list of possible commands.
 smb: \> 

答え2

smbclientテストに使用するコンピュータで以前のバージョン(4.9.5-Debian)を実行しているため、ここでは不利な立場にあります。しかし、それによるとsamba.orgのマニュアルページ独立より好ましい代替案は、次のようになります-kどのようにKerberosを使いたいです。

--use-kerberos=desired|required|offこのパラメータは、Sambaクライアントツールが認証にKerberosを使用しようとするかどうかを決定します。 Kerberos認証では、サービスにアクセスするときにIPアドレスの代わりにDNS名を使用する必要があります。

ここでこのパラメータを指定すると、ファイルclient use kerberosのパラメータは無視されます${prefix}/etc/smb.conf

したがって、次のシナリオを使用してください。

kinit [email protected]    # Domain in capitals. Provide password
smbclient --use-kerberos=required '\\SERVER\Share'

以前の形式のコマンドを使用すると、smbclientパスワードの入力を求められません。

smbclient -k '\\SERVER\Share'

あなたのケースとこれらの不一致は、あなたがkinit失敗したか、チケットが期限切れになったことを示します。ファイルの存在に依存せず、/tmp代わりに次のように実行してくださいklist

klist
Ticket cache: FILE:/tmp/krb5cc_1001
Default principal: [email protected]

Valid starting     Expires            Service principal
28/10/22 17:25:55  29/10/22 03:25:55  krbtgt/[email protected]
        renew until 29/10/22 17:25:52
28/10/22 17:26:05  29/10/22 03:25:55  cifs/[email protected]

関連情報