VirtualBox의 Windows 10에서 Samba 공유에 액세스

VirtualBox의 Windows 10에서 Samba 공유에 액세스

이 문제에 대한 사용자 질문과 블로그를 많이 읽었지만 문제가 해결된 것은 없습니다.

VirtualBox에 Windows 10 게스트가 설치된 Linux CENTOS 호스트가 있습니다. Linux에는 디렉토리(777)를 공유하고 Samba 사용자 데이터베이스에 등록된 "myuser"라는 사용자가 있습니다. 이 사용자에게는 비밀번호 제한이 없습니다. 모양 smb.conf은 다음과 같습니다.

[global]
workgroup = WORKSPACE_SHARE
security = user
map to guest = bad user

[public]
path = /home/myuser/public
public = yes
writeable = yes
comment = smb share
printable = no
guest ok = yes

Windows에는 동일한 이름("myuser", 암호 설정 없음), 파일 및 프린터 공유 활성화, Microsoft 클라이언트 활성화, Samba 작업 그룹과 일치하고 개인 네트워크를 사용하는 작업 그룹 세트를 가진 로컬 사용자가 있습니다.

탐색기에서 실제로 공유 폴더("public")가 포함된 Linux 호스트를 볼 수 있습니다. 하지만 이 공유 폴더에 액세스하려고 하면 다음과 같은 오류 경고가 나타납니다. 액세스할 권한이 없습니다...

인터넷에서 "Windows 10은 SMBv3을 사용하지만 Samba는 아직 이를 지원하지 않습니다."와 SMBv3를 끄는 방법을 읽었지만 도움이 되지 않았습니다.

Windows에서 로컬 보안 정책을 수정해도 효과가 없었습니다.https://superuser.com/a/916835/408191

이 이상한 문제를 어떻게 해결할 수 있나요?

답변1

일부 Linux 배포판에는 커널에 SELinux 구현이 있습니다. 그것은 다음을 의미합니다."보안이 강화된 Linux"그리고 무엇보다도 Samba 공유를 제한합니다. 공유 폴더를 생성하려는 경우 편리한 액세스 권한과 정의를 지정하는 것만으로는 충분하지 않습니다 samba.conf. 또한 공유 폴더의 올바른 "보안 컨텍스트"를 설정해야 합니다.

다음 권한 마스크와 보안 컨텍스트를 따르면 됩니다.

chmod -R 770 yoursharefolder
chcon -R -t samba_share_t yoursharefolder

다른 위키에서 이미 알려진 모든 조건도 준수해야 합니다.

  • 공유 소유자인 Unix 사용자를 Samba 사용자 데이터베이스에 추가해야 합니다.smbpasswd -a youruser
  • Windows 시스템에는 Samba 데이터베이스에 설정된 것과 동일한 이름과 비밀번호를 가진 사용자가 있어야 합니다.
  • 다음과 같이 보일 수 있습니다 samba.conf.

samba.conf(모든 대문자 부분은 관련 특정 환경에 맞게 맞춤화되어야 합니다):

[global]
workgroup = SAME_WORKGROUP_AS_CONFIGURED_IN_WINDOWS
server string = Samba Server %v
netbios name = HOST_NAME_OF_YOUR_LINUX_MACHINE_ON_NETWORK
security = user
map to guest = bad user
dns proxy = no

[yourshare]
path = /PATH/TO/YOURSHARE
valid users = YOUR_WINDOWS_USER_NAME
browsable = yes
writeable = yes
guest ok = no
read only = no
directory mask = 0770
create mask = 0770

편집하다:다음을 통한 변경 사항은 chcon영구적이지 않습니다. 영구적인 보안 컨텍스트 변경을 수행하려면 다음 명령을 사용하십시오.

semanage fcontext -a -t samba_share_t /full/path/to/your/share/folder

...효과적으로 만들려면 다음과 같이 하세요.

restorecon -v /full/path/to/your/share/folder

관련 정보