Mac 클라이언트는 Samba 공유에 대한 권한을 설정할 수 없습니다.

Mac 클라이언트는 Samba 공유에 대한 권한을 설정할 수 없습니다.

저는 로컬 홈 네트워크의 Debian 서버에서 Samba를 실행하고 있습니다. Samba 버전은 4.9.5-DebianMy Mac Mini(Big Sur 포함)가 이 서버에 연결됩니다. 한 공유는 Time Machine 백업에 사용되고 다른 공유는 데이터를 저장하는 데 사용됩니다. Time Machine 백업이 작동하는 것 같습니다(적어도 Time Machine은 불평하지 않았으며 백업에서 단일 파일을 성공적으로 복원했습니다).

그런데 데이터 공유에 대한 권한이 제대로 작동하지 않는 것을 발견했습니다. 파일이나 폴더에 대한 권한을 변경하려고 하면(예: 사용) chmod 640 testfile.txt공유에 대한 권한은 영향을 받지 않습니다. 권한은 항상 동일하게 유지됩니다.

나는 이것을 인터넷과 독서에서 찾은 정보를 기반으로 했습니다 man smb.conf.man vfs_fruit

smb.conf 파일의 전역 섹션에 다음 매개변수를 추가했습니다.

   server min protocol = SMB3_00
   ea support = yes
   vfs objects = acl_xattr catia fruit streams_xattr
   fruit:aapl = yes
   fruit:metadata = netatalk
   fruit:resource = file
   fruit:encoding = native
   fruit:copyfile = yes
   fruit:model = MacSamba
   fruit:veto_appledouble = no
   fruit:posix_rename = yes
   fruit:zero_file_id = yes
   fruit:wipe_intentionally_left_blank_rfork = yes
   fruit:delete_empty_adfiles = yes
   fruit:nfs_aces = no

데이터 공유 구성은 다음과 같습니다.

[DataShare]
   comment = Samba data share
   path = /srv/samba/datashare
   browseable = yes
   read only = no
   guest ok = no
   valid users = myuser
   create mask = 0777
   directory mask = 0777

저는 Samba를 처음 접했고 다양한 매개변수에 대해 약간 혼란스러워했습니다. 이제 내 Mac 클라이언트가 공유에 있는 파일에 대한 파일 권한을 설정할 수 없는 이유를 모르겠습니다.

이는 단순히 파일을 저장하는 데에는 문제가 없지만 응용 프로그램에 문제를 일으킬 수 있습니다. 예를 들어, 큰 이미지 라이브러리를 공유에 저장하고 싶습니다. 거기에 복사해서 애플 포토 앱으로 열고 싶었는데, 포토에서는 권한이 손상됐다며 그렇게 할 수 없었고, 권한도 수정할 방법이 없었습니다.

이 설정이 작동하도록 하고 싶기 때문에 도움을 주시면 정말 감사하겠습니다.

답변1

나는 파티에 늦었지만 (적어도 나에게는) 작동하는 해결책을 찾고 거기에 내놓지 않는 사람이 될 수는 없습니다. 왜냐하면 나는 항상 "nvm이 문제를 해결했습니다"라고 소리치는 사람이었기 때문입니다. 자세한 설명과 함께 ;)

첫 번째 단계는 귀하의 fstab가 있는지 확인하는 것입니다.

  1. xattrs공유 파일 시스템에 대한 지원이 활성화되었습니다 . 을 확인하십시오 fstab.

  2. 거기 있는 동안 마운트 옵션에서도 ACL이 활성화되었습니다. 이렇게 환경에 맞게 조정하세요.

    /dev/disk/by-label/nas1 /mnt/nas1 ext4 defaults,user_xattr,acl,commit=60 0 2
    

    권한 오류가 발생하는 이유를 해결하는 데 몇 시간을 보냈습니다. 방금 포인트 2를 잊어버렸어요.

설정의 나머지 부분은 이미 괜찮으며 생각했던 것보다 훨씬 적은 작업이 필요합니다.

  1. 이것을 smb.conf[global] 섹션에 넣으세요:

    [global]
    vfs objects = fruit catia streams_xattr acl_xattr
    map acl inherit = yes
    fruit:aapl = yes
    fruit:model = MacSamba
    fruit:metadata = stream
    readdir_attr:aapl_rsize = yes
    readdir_attr:aapl_finder_info = yes
    readdir_attr:aapl_max_access = yes
    

    이러한 설정이 무엇을 하는지 궁금하신 분은 겸손히 조언해 드립니다. $> man smb.conf(OP를 파헤칠 필요는 없습니다. 해당 게시물의 텍스트를 더...무식한 이전 게시물과 혼동했습니다.)

파일의 나머지 부분은 기본값으로 유지될 수 있습니다. 레거시 Windows 3.11 사용자이고 내 LAN에서 작업 그룹 이름을 동기화하는 것이 걱정된다면 작업 그룹 이름을 변경하십시오.

  1. 태그를 지원하려는 공유에서는 다음 옵션이 적합합니다.
    [Pr0n]
      comment = Pr0n
      path = /mnt/nas1/Pr0n
      browseable = no
      guest ok = no
      read only = no
      writable = yes
      valid users = 
    
    [ -- snip -- ]
    
      force directory mode = 0775
      force create mode = 0664
    
      # Fruit config
      fruit:posix_rename = yes
      fruit:veto_appledouble = yes
      fruit:nfs_aces = yes
      fruit:wipe_intentionally_left_blank_rfork = no
      fruit:delete_empty_adfiles = no
    

SeDiskOperatorStatus디렉토리는 내 개인 사용자와 그룹이 소유하므로 net grant 등을 조작할 필요가 없습니다 .

한 번 재부팅한 후(아마도 작동할 수도 있음) 모든 것이 자동으로 정상화되고 태그가 모두 허용되어 붙여넣어집니다.

답변2

PAM(플러그형 인증 모듈) 설정은 디렉터리 마스크를 무시하고 마스크 설정을 생성할 수 있습니다. 라인을 확인하십시오: smb.conf에서 pam 제한 사항을 존중합니다 = no입니다. 그러면 문제가 해결될 것입니다.

관련 정보