Samba 다중 사용자 설정 - 단계별로?

Samba 다중 사용자 설정 - 단계별로?

여러 번 시도했지만 Unix에서 SMB 공유에 대한 권한을 얻지 못했습니다. 최소한의 Debian 파일 서버, GUI 없음, SSH만 있음...

저는 항상 SMB에서 모든 권한을 설정한다고 생각했는데 알고 보니 Windows에서 설정한 건가요? https://www.youtube.com/watch?v=QhwOyLtArw0

어쩌면 나(Ragnar)에게 디스크 루트에 대한 액세스와 모든 권한을 부여하고 내 Windows 워크스테이션에서 모든 폴더를 생성하고 권한을 설정하는 것만으로도 충분할까요?

두 명의 사용자를 원합니다: Ragnar와 Harald

나는 내 디스크를 "레코드"와 "미디어"라고 부릅니다.

기록(sdb1 | /mnt/records)
- TV 기록 Harald
- TV 기록
- 다음

아카이브(sdc1 | /mnt/archiv)
- Harald
--- 모토로라 태블릿

- 백업
--- PC1
--- PC2

-미디어
---음악
---뮤직 비디오
---전자책

Harald는 "녹화/TV 녹화 Harald"를 볼 수 있어야 하며 읽기, 쓰기 및 삭제 권한이 있어야 합니다.
Harald는 "Archiv/Harald"를 볼 수 있어야 하며 읽기, 쓰기 및 삭제 권한이 있어야 합니다.
Harald는 "아카이브/미디어"를 볼 수 있어야 하며 읽기 권한만 있어야 합니다.
나를 방문하는 친구는 "아카이브/미디어"를 볼 수 있어야 하며 읽기 권한만 있어야 합니다.
라그나는 어디서나 모든 것을 보고 할 수 있어야 합니다.

지금까지 내가 한 일:

~# sudo apt install samba

~# sudo useradd Ragnar -s /usr/sbin/nologin
~# sudo smbpasswd -a Ragnar

~# sudo useradd Harald -s /usr/sbin/nologin
~# sudo smbpasswd -a Harald

~# sudo nano /etc/samba/smb.conf

[global]
   workgroup = WORKGROUP
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   obey pam restrictions = yes

[Records]
   comment = Disk 1
   path = /mnt/records
   browsable = yes
   read only = no
   create mask = 0666
   directory mask = 0777
   force user = Ragnar
   force group = Ragnar
   hide files = /lost+found/

~# sudo chown Ragnar /mnt/records
~# sudo service smbd restart

Windows에서 "로깅" 공유의 보안을 살펴보면 다음과 같습니다.
모든 사람: 특수 권한
루트(Unix Group\root): 특수 권한
Ragnar(HECTOR\Ragnar): 특수 권한

어떻게든 그룹을 변경해야 합니까?
Ragnar와 모든 읽기 및 쓰기에 대한 "특수 권한"은 "모든 권한"을 표시하는 대신 일반적인 것입니까?

이제 로깅에서 파일을 생성하고 Windows의 보안을 살펴보면 다음과 같습니다.
모든 사람: 읽기, 쓰기
Ragnar(Unix Group\Ragnar): 읽기, 쓰기
Ragnar(HECTOR\Ragnar): 읽기, 쓰기

그래서 라그나 역시 "완전한 통제"를 갖고 있지 않습니다...

무엇이 바뀌어야 합니까?
아니면 지금 Windows에 하위 폴더를 만들고 여기에 권한을 설정해야 합니까?

분실 및 발견된 콘텐츠를 완전히 숨길 수 있는 방법이 있나요?
탐색기가 "숨김 파일 표시"로 설정되어 있으면 Windows에서 계속 볼 수 있습니다.
내 Android 기기에서도 볼 수 있습니다.

그럼 안드로이드에는 IPC$ 폴더가 있나요?

편집
분실+발견(액세스 거부)으로 인해 기록 내의 폴더/파일에 있는 모든 사람을 삭제할 수 없습니다.

편집
내가 하나 만들었고 sudo chown -R Ragnar:Ragnar /mnt/records이제 모든 사람의 권한을 제거할 수 있습니다.
그런데 Harald가 기록을 읽고 쓸 수 있나요? ? ?

답변1

읽기부터 시작하겠습니다https://www.samba.org/samba/docs/

왜냐하면 Linux에는 여러분이 알아야 할 몇 가지 손잡이가 있고 Samba Server여러분이 요구하는 것을 달성하는 방법이 여러 가지 있을 수 있기 때문입니다.

하지만 간단히 말해서

  • Linux 아래에 설치됩니다 samba server.가장 작은설명할 삼바 기능~해야 한다모든 Linux에서 작동
  • /etc/samba/smb.conf다음 과 같이 편집됨적어도다음과 같은

# smb.conf file sample
[global]
    security = user
    passdb backend = tdbsam
[scratch]
    path = /scratch
    read only = No
    guest ok = No
  • samba.org에서 and에 대한 security설명을 읽어 보십시오 passdb. 그러나 이는 기본 기능을 설정합니다.현지의Linux 계정이 존재해야 하며 계정 이름이 유효해야 합니다.라그나그리고하랄드] 어느반품연결된 컴퓨터와 관계없이 계정 이름이어야 합니다. 연결된 컴퓨터와 연결된 컴퓨터의 계정 비밀번호가 동일한 경우삼바 코드삼바 서버를 호스팅하는 Linux 시스템에서 연결을 허용합니다.
  • 당신은해야합니다
    • smbpasswd -a ragnar
    • smbpasswd -a harald
    • 선택을 만족시키기 위해 Linux 시스템에서 삼바 서버를 호스팅하십시오 passdb backend... 우리가 사용하는 삼바 비밀번호는 다음과 같습니다.다른에서 로컬 계정 비밀번호보다 더 중요합니다 /etc/passwd. 자세한 지침은 Samba 문서를 읽으십시오. 그러나 이는 guest ok = yes에 지정된 특정 공유에 대한 액세스를 모든 사람에게 허용할 때까지 특정 계정 이름에 대한 Linux 파일/폴더 권한을 기반으로 기본 액세스 보안을 설정합니다 .smb.conf
    • scratchsmb.conf 예제에서는 example이라는 폴더 만 공유했습니다.
  • 다른 모든 구체적인 질문에 대해서는 답변하기가 너무 어렵습니다. 죄송합니다.
  • 예를 들어 해당 계정 이름이 haraldLinux 삼바 서버에 있는 경우 이 작업을 수행합니다.그리고클라이언트 시스템에서는그리고Linux 서버가 smbpasswd연결 클라이언트의 계정 비밀번호와 일치 harald하면 Linux 시스템에서 작동하는 모든 것이 Samba 연결을 통해 영향을 받으며 Samba에 정의된 사용자 및 그룹을 기반으로 기본 파일/폴더 권한을 사용할 수 있습니다. 리눅스 [삼바] 서버.haraldharald

나는 항상 SMB에서 모든 권한을 설정한다고 생각했는데, Windows에서 설정했다는 것을 알게 되었습니다.

반드시 그런 것은 아닙니다.할 수 있는클라이언트(Windows 컴퓨터)에서 설정되지만 파일/폴더 권한은 삼바 서버에서 옵니다. 따라서 먼저 Linux 파일 시스템 권한이고 삼바 서버에서 읽은 다음 클라이언트에게 전달됩니다. 즉, (Server Message Block) 프로토콜을 SMB이해해야 합니다 SMB. 불일치가 있는 경우(예: guest ok== yes이고 Windows 계정이 Linux [samba] 서버에 존재하지 않음) nobody권한이 로 설정되어 있음을 알 수 있습니다.

  • Samba 문서 읽기Map to Guest
  • 다양한 수준의 액세스 및 제한을 수용하려면 기타 많은 조정이 필요합니다.
    • obey pam restrictions
    • 나는 그것을 삭제하거나 no이것이 당신의 현재 이해 수준을 넘어서기 때문에 완전히 다른 동물 samba이라고 말할 것을 제안합니다.PAM
    • nologinLinux 계정이 여전히 이러한 계정에 대한 samba smb 액세스를 허용하는지 확실하지 않으므로 먼저 Linux 계정을 harald만들고 ragnar완전히 활성화한 다음 nologin모든 것이 제대로 작동하면 이 계정을 (ssh를 방지하기 위해) 변경하는 것이 좋습니다. 그래서 내가 그렇게 말하는 이유 pam=no는 pam 제한 사항을 준수하고 계정에 로그인하지 않으면 삼바 액세스가 차단될 수 있다고 말씀하셨기 때문입니다..

관련 정보