하나의 호스트(hostx)에서 내보낸 cifs 공유를 마운트하면 정상적으로 작동합니다.
[piotr@demon ~]$ sudo mount -t cifs //hostx.intranet.local/pdobrogost /home/piotr/remote/hostx/ --verbose -o credentials=/home/piotr/.config/cifs-credentials.conf,uid=piotr,gid=piotr
domain=domainx
mount.cifs kernel mount options: ip=1.2.3.4,unc=\\hostx.intranet.local\pdobrogost,uid=1000,gid=1000,user=pdobrogost,,domain=domainx,pass=********
이는 다른 호스트에서 내보낸 cifs 공유에는 작동하지 않습니다.
[piotr@demon ~]$ sudo mount -t cifs //hosty.intranet.local/pdobrogost /home/piotr/remote/hosty/ --verbose -o credentials=/home/piotr/.config/cifs-credentials.conf,uid=piotr,gid=piotr
domain=domainx
mount.cifs kernel mount options: ip=1.2.3.5,unc=\\hosty.intranet.local\pdobrogost,uid=1000,gid=1000,user=pdobrogost,,domain=domainx,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
/home/piotr/.config/cifs-credentials.conf
다음과 같습니다.
username=my_cifs_username
password=my_cifs_password
domain=domainx
호스트를 사용하여 cifs 공유에 연결을 시도 smbclient
하고 다음을 얻습니다.
[piotr@demon ~]$ smbclient -d 3 -A /home/piotr/.config/cifs-credentials.conf -W domainx //hosty.intranet.local/pdobrogost
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
added interface p1p1 ip=10.92.2.80 bcast=10.92.2.255 netmask=255.255.255.0
Client started (version 4.1.6).
tdb(/var/lib/samba/gencache.tdb): tdb_open_ex: could not open file /var/lib/samba/gencache.tdb: Permission denied
resolve_lmhosts: Attempting lmhosts lookup for name hosty.intranet.local<0x20>
resolve_lmhosts: Attempting lmhosts lookup for name hosty.intranet.local<0x20>
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name hosty.intranet.local<0x20>
Connecting to 1.2.3.5 at port 445
Doing spnego session setup (blob length=97)
got OID=1.2.840.113554.1.2.2
got OID=1.2.840.48018.1.2.2
got OID=1.3.6.1.4.1.311.2.2.10
got principal=cifs/[email protected]
Got challenge flags:
Got NTLMSSP neg_flags=0x60898215
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x60088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x60088215
SPNEGO login failed: Unexpected information received
session setup failed: NT_STATUS_INVALID_PARAMETER
로컬 시스템은 Fedora 20
mount.cifs 버전을 실행합니다. 6.3
smbclient 버전: 4.1.6
Hostx는 Hostx에서 Debian 6.0.10을 실행합니다.
Samba 버전: 2:3.5.6~dfsg-3squeeze11 Hosty는 Hosty Samba
에서 Red Hat Enterprise Linux ES 버전 4를 실행합니다.
버전: 삼바-3.0.33-0.19.el4_8.3
Hosty의 Samba 로그에는 다음 항목이 있습니다.
Nov 14 15:09:37 hosty smbd[28956]: [2014/11/14 15:09:37, 0] rpc_client/cli_pipe.c:cli_pipe_verify_schannel(354)
Nov 14 15:09:37 hosty smbd[28956]: cli_pipe_verify_schannel: auth_len 56.
Nov 14 15:09:37 hosty smbd[28956]: [2014/11/14 15:09:37, 0] auth/auth_domain.c:domain_client_validate(260)
Nov 14 15:09:37 hosty smbd[28956]: domain_client_validate: unable to validate password for user pdobrogost in domain domainx to Domain controller A.INTRANET.LOCAL. Error was NT_STATUS_INVALID_PARAMETER.
이는 내 비밀번호를 인증하는 Active Directory 도메인 컨트롤러에 문제가 있음을 나타냅니다.
답변1
Hostx에서 smbclient를 실행하고 결과를 공유할 수도 있습니까? 작동한다면 두 호스트의 smb conf 파일을 비교해야 합니다(결과에 따르면 /etc/samba/smb.conf 파일인 것 같습니다). 서버에 SPNEGO가 구성되어 있는지 확인하셨나요? 그렇지 않은 경우 Hosty의 smb.conf 설정에 다음을 추가하여 비활성화해야 합니다.
[글로벌]
클라이언트는 spnego = no를 사용합니다.