Samba 2:4.7.6을 사용하는 Ubuntu 18.04.3 LTS 기반 Lubuntu 배포판
공유를 열거할 때 Samba가 유효한 자격 증명을 요청하도록 강제하는 방법이 있습니까?
문제: Windows 10 버전 1903은 세션 자격 증명을 캐시합니다. SMB 서버의 공유를 검색할 때 EnumShares2
캐시된 익명 자격 증명( )을 사용하여 공유를 열거합니다. 인증이 필요한 공유에 대한 후속 연결 시도는 다음 메시지와 함께 실패합니다.
동일한 사용자가 여러 사용자 이름을 사용하여 서버나 공유 리소스에 여러 번 연결할 수 없습니다. 서버 또는 공유 리소스에 대한 이전 연결을 끊고 다시 시도하십시오.
Windows 10 1903에서는 컴퓨터를 다시 시작하는 것 외에 Windows에서 익명 세션을 강제로 해제할 수 있는 방법이 없는 것 같습니다.
Windows 1703(Server 2016?, 확실하지 않음) 이후 공유의 익명 검색이 비활성화되었기 때문에 원격 Windows 시스템에서 공유를 열거할 때 이 문제가 발생하지 않습니다.
실제로 Samba가 익명 자격 증명으로 공유를 열거하지 않도록 설득할 수 없는 한 Windows 10에서는 Samba 공유에 거의 100% 액세스할 수 없습니다. 사용자가 먼저 서버 공유를 검색하지 않고는 공유에 연결할 수 없기 때문입니다.
/var/log/samba 로그 파일에는 명백한 오류가 없습니다.
@smbgroup에는 공유 액세스를 위해 특별히 생성된 사용자 "smb"가 하나만 포함됩니다.
내 smb.conf는 다음과 같습니다.
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
wins support = no
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z
# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = yes
interfaces = 127.0.0.0/8 eth0
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
# Maximum number of usershare. 0 (default) means that usershare is disabled.
usershare max shares = 100
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
#======================= Share Definitions =======================
# Added shares
[Anonymous]
path = /samba/anonymous
browsable = yes
writable = no
read only = yes
force user = nobody
[SECURED]
path = /samba/shares
valid users = @smbgrp
browsable = yes
writable = yes
read only = no
답변1
전역 섹션에 다음을 추가하세요.
restrict anonymous = 2
익명성 제한을 제거하여 게스트를 허용하도록 변경합니다.
usershare allow guests = no