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]