Windows 10에서 일부 Linux Samba 공유에 액세스하는 데 다음 오류가 발생하는 문제가 있습니다.
Check the spelling of the name. Otherwise, there might be a problem with your network. To try to identify and resolve network problems click Diagnose.
Error code: 0x80070035
The network path was not found
SMB1/CIFS만 사용하는 이전 openSUSE 12.1에서는 성공적으로 탐색할 수 있지만 최신 openSUSE Leap 15에서는 탐색할 수 없습니다. 단, 강제로 실행하는 경우는 제외됩니다.NT1해당 측의 프로토콜(즉, SMB1/CIFS용)/etc/samba/smb.conf 전역부분:
[global]
...
min protocol = NT1
max protocol = NT1
참고로 기본적으로최소 프로토콜~이다LANMAN1그리고최대 프로토콜~이다SMB3, 해당 범위에는 다음이 포함됩니다.NT1프로토콜(참조SMB 프로토콜 최소 최대 값을 사용할 수 있습니까?):
$ testparm --parameter-name="min protocol"
[...]
LANMAN1
$ testparm --parameter-name="max protocol"
[...]
SMB3
그리고 다음 명령을 사용하여 프로토콜을 강제하지 않고도 다른 Linux 컴퓨터에서 이러한 공유 폴더에 액세스할 수 있습니다. 예를 들어 폴더를 나열할 수 있습니다.
smbclient -L MyLeap15Computer -N
또는 다음을 사용하여 tmp 공유 폴더에 연결합니다.
smbclient //MyLeap15Computer /tmp -N
또한 SMB2와 3이 실제로 활성화되어 있음을 확인했습니다.Windows에서 SMBv1, SMBv2 및 SMBv3을 감지, 활성화 및 비활성화하는 방법, 다른 Windows 10에서도 액세스할 수 있었습니다. 그리고 액세스할 수 없는 컴퓨터에서 MyLeap15Computer를 성공적으로 ping했습니다.
어쨌든 기술적으로는 NT1 프로토콜을 강제 적용하여 공유 폴더에 액세스할 수 있지만 가능해야 하기 때문에 SMB1/CIFS에 보안 문제가 있으므로 SMB2 또는 SMB3에서 액세스할 수 있기를 원합니다(그리고 Windows 10에서도 비활성화합니다) ) 또한 이 프로토콜을 강제하지 않고 다른 Windows 10에서 액세스할 수 있으므로 Windows 구성에 있어야 하지만 두 가지 모두에서 모든 것이 활성 상태로 나타나기 때문에 어떤 것이 있는지 확인할 수 없습니다.
마지막으로 문제가 클라이언트 측에 더 많은 것 같더라도 여기에 서버 구성이 있습니다./etc/samba/smb.conf강요하지 않고NT1프로토콜(이 구성은 게스트 사용자를 허용하므로 연결을 위해 자격 증명을 제공할 필요가 없습니다):
[global]
workgroup = WORKGROUP
passdb backend = tdbsam
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = bad user
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = yes
usershare max shares = 100
winbind offline logon = yes
winbind refresh tickets = yes
create mask = 777
directory mask = 777
delete readonly = yes
[tmp]
comment = Temp folder
path = /tmp
browseable = yes
writable = yes
read only = no
guest ok = yes
mangled names = no
편집하다: @JW0914를 제안한 내용에 대한 추가 정보는 다음과 같습니다. 제안한 내용은 작동하지 않았지만 서버 로그에서 흥미로운 것을 발견했습니다(추가됨).로그 수준 = 3에게/etc/samba/smb.conf 전역그런 다음 섹션을 살펴 보았습니다./var/log/samba/log.smbd연결을 시도한 후):
check_ntlm_password: Checking password for unmapped user [DOMAIN]\[USER]@[Windows10Computer] with the new password interface
[2020/02/05 14:21:23.845849, 3] ../source3/auth/auth.c:192(auth_check_ntlm_password)
check_ntlm_password: mapped user is: [DOMAIN]\[USER]@[Windows10Computer]
[2020/02/05 14:21:23.845879, 3] ../source3/auth/check_samsec.c:399(check_sam_security)
check_sam_security: Couldn't find user 'USER' in passdb.
[2020/02/05 14:21:23.845890, 2] ../source3/auth/auth.c:332(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [USER] -> [USER] FAILED with error NT_STATUS_NO_SUCH_USER, authoritative=1
[2020/02/05 14:21:23.845910, 2] ../auth/auth_log.c:760(log_authentication_event_human_readable)
Auth: [SMB2,(null)] user [DOMAIN]\[USER] at [Wed, 05 Feb 2020 14:21:23.845900 CET] with [NTLMv2] status [NT_STATUS_NO_SUCH_USER] workstation [Windows10Computer] remote host [ipv4:172.168.0.69:56937] mapped to [DOMAIN]\[USER]. local host [ipv4:172.168.0.99:445]
[...]
No such user USER [DOMAIN] - using guest account
[2020/02/05 14:21:23.847182, 3] ../source3/smbd/server_exit.c:244(exit_server_common)
Server exit (NT_STATUS_CONNECTION_RESET)
서버가 Windows 10에 로그인한 사용자로 인증을 시도하고 있지만 존재하지 않기 때문에 게스트 사용자로 대체되지만 바로 연결이 재설정됩니다. 다른 한편으로는 작동 중인 컴퓨터에서 동일한 도메인/사용자로 로그인하고 성공적으로 액세스하면 동일한 로그(다른 컴퓨터 이름 및 IP)가 있지만 끝에는 다음과 같습니다.
No such user USER [DOMAIN] - using guest account
[2020/02/05 14:43:21.147396, 3] ../lib/util/access.c:365(allow_access)
Allowed connection from 192.168.0.77 (192.168.0.77)
나는 그것을 조사하고 있지만 누군가 무슨 일이 일어나고 있는지에 대한 단서를 가지고 있다면 기쁠 것입니다.
편집2: 잠깐 살펴본 후 해결 방법을 찾았습니다.Windows 10 가을 업데이트 및 Samba 게스트 계정하지만 노력할 때순 사용명령에 다음과 같은 문제가 있습니다. 이 회사는 최신 컴퓨터에서 보안을 변경했을 수 있습니다. 두 컴퓨터 모두 동일한 도메인에 있지만 작동하지 않는 컴퓨터는 최신 설치에서 발생합니다.
You can't access this shared folder because your organization's security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.
감사해요
답변1
내 경우(Windows 10, CentOS 6의 고대 Samba 4.2.10)의 경우 최소 프로토콜을 SMB2로, 최대 프로토콜을 SMB3으로 설정하는 것이 도움이 되었습니다.
[global]
min protocol = SMB2
max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
client ipc min protocol = SMB2
client ipc max protocol = SMB3
server min protocol = SMB2
server max protocol = SMB3
그런 다음공유를 네트워크 드라이브로 연결( Explorer -> Home -> Easy access -> Map as drive
)하고 공유 이름( \\1.2.3.4\ShareName
)을 입력하고 "다른 자격 증명을 사용하여 연결"을 선택한 다음 기타를 선택하고 사용자 이름을 형식으로 입력합니다.DOMAIN\username
.
Explorer에서 공유에 접근하려고 하면 자격 증명을 요구하지 않으며 사용자 이름을 지정할 수도 없습니다 net use \\shareserver\data /user:testuser
(시스템 오류 58 발생).
답변2
smbpasswd -a user
여기서는 달리기 가 중요합니다!
나의 달리기 smb.conf
:
[global]
client max protocol = SMB3
name resolve order = wins lmhosts host bcast
security = USER
username map = /etc/samba/smbusers
idmap config * : backend = tdb
[rootfs]
create mask = 0644
force group = root
force user = root
path = /
read only = No
답변3
마지막으로 덕분에조직의 보안 정책으로 인해 공유 폴더에 접근할 수 없습니다., 이를 재정의하는 방법을 찾았습니다.
regedit
이동 에서HKLM\SOFTWARE\Policies\Microsoft\Windows
- 새 키를 만들고
LanmanWorkstation
그 안에AllowInsecureGuestAuth
값으로 이름이 지정된 새 DWORD를 만듭니다.1
- 재부팅
물론 회사의 승인 없이는 안 됩니다. 저는 단지 테스트를 위해 수행했지만 이를 관리할 수 있는 방법을 알아보기 위해 IT 부서와 협력하고 있습니다.
답변4
제 경우에는 포트 139/TCP에서 연결을 비활성화하면 Windows 10 클라이언트를 Samba Ubuntu 20.04에 처음 연결할 때 오류 0x80070035에 많은 도움이 되었습니다.
[global]
...
smb ports = 445
...
이제 집에 있는 Windows 10 PC에서 Samba 서버에 대한 연결이 그 어느 때보다 빨라졌습니다.
하지만 이것이 어떤 부작용을 가져올지는 잘 모르겠습니다.