특정 사용자 만 Samba 공유에 액세스하도록 설정하려면 어떻게해야합니까?


31

Ubuntu Server 12.04에 RAID10 어레이가 마운트되어 있습니다. 마운트 지점 내에 몇 개의 폴더를 만들고 다음 기능을 원합니다.

4 명의 사용자가 있으며 그 중 3 명은 '1', '2'및 '3'의 Windows 사용자입니다. 'four'는 미디어 공유에만 액세스해야하는 미디어 스 트리머입니다. 1-2는 미디어 공유 및 자신의 개인 공유 (문서의 경우)에 액세스 할 수 있어야하며 다른 사용자는 액세스 할 수 없습니다.

현재 User Four는 완벽하게 작동합니다 (MEDIA 폴더에 대한 전체 액세스 권한이 있으며 다른 사용자가 소유 한 폴더에 액세스 할 수 없음). 문제는 다른 사용자로 로그인 할 때 어느 공유에도 액세스 할 수 없다는 것입니다. (유효한 사용자를 사용하고 = chmod를 사용하여 아무 소용이 없습니다.)

TL; DR : 특정 사용자에 대한 특정 공유에 대한 액세스를 제한하고 모든 공유 폴더가 하나의 공용 폴더 (RAID10 마운트의 모든 파일)에 액세스 할 수 있도록 Samba를 올바르게 구성하는 방법을 알아야합니다.

답변:


45

각 삼바 사용자는 일반 리눅스 계정도 가지고 있어야합니다.

  1. 모든 사용자가 삼바없이 유닉스 쪽의 공통 미디어 폴더에 액세스 할 수 있는지 확인하십시오. 양자 택일로, 당신은 설정할 수 force user있는smb.conf
  2. 각 사용자에게 삼바 암호가 설정되어 있는지 확인하십시오. 당신은 그것을 설정할 수 있습니다sudo smbpasswd -a your_user
  3. 살펴보기 /etc/samba/smb.conf: 섹션 security = user에 선 이 설정되어 있는지 확인 [GLOBAL]하십시오.
  4. 에 공유 설정 /etc/samba/smb.conf, 예 참조

주식 예 :

[allaccess]
    path = /media/common
    read only = no
    writeable = yes
    browseable = yes
    valid users = one, two, three, four
    create mask = 0644
    directory mask = 0755
    ; if you set this, all files get written as this user
    force user = one

이것은 통해 액세스 할 수 있습니다 \\yourserver\allaccess

단일 사용자 공유 :

[special]
    path = /home/two/onlytwo
    read only = no
    writeable = yes
    browseable = yes
    valid users = one
    create mask = 0640
    directory mask = 0750

다음과 같이 변경 한 후 samba 서버를 다시 시작하십시오.

sudo service smbd restart

2
당신은 신이며, 마스크와 힘 사용자는 내가 함께 필요로했지만 이해하지 못했습니다.
Liam

4
"읽기 전용"과 "쓰기 가능"은 서로 "역상 동의어"라고합니다. 둘 다 설정할 필요가 없습니다.
Mike Diehn

1
대박! 2 단계를 제외한 모든 일을했습니다. 삼바 공유를 설정하는 데 다른 곳에서는 언급 한 적이 없습니다. 감사!!
PatrickSteele

쓰기 가능하게하려면 공유 이름을 임시 로 지정하지 마십시오 .
SergA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.