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를 사용하고 있습니다.
비밀번호를 물어보니..엔터를 누르고 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]