Samba가 UNIX 권한을 처리하는 방법 이해하기

오 티드 나이프

Linux, ZFS 및 Samba를 사용하여 백업 서버를 구축하고 있습니다. 나 이외의 모든 클라이언트는 Windows 10을 사용할 것이므로 Windows 10을 제대로 지원하는 데 초점을 맞추고 있지만 그렇다고 Linux 측의 권한이 안전하지 않게 허용되어야한다는 의미는 아닙니다 (즉, 읽기 및 쓰기 가능).

실수로 모든 파일에서 POSIX ACL을 제거한 후 처음에 그룹 액세스를 허용하도록 설정된 것으로 생각하고 Windows 측 파일에 대한 모든 권한이 손상되었습니다.

이것은 매뉴얼의 모든 옵션을 검토하고 구성을 다시 실행하여 수정되었습니다. 내가 원하는 동작을 얻기 위해 설정해야 할 옵션, 즉 UNIX 권한을 안전하게 유지하면서 Windows 측에서만 권한을 설정하는 옵션을 알아 냈습니다. Samba가 UNIX 권한을 처리하는 방법에 대해 아직 이해하지 못하는 두 가지 사항이 있습니다.

설정 acl_xattr:ignore system acls = no하면 UNIX 권한이 내가 원하지 않는 Windows ACL (CREATOR, GROUP 및 EVERYONE 항목)의 항목이되지만으로 설정 yes하면 소유자, 그룹 및 권한이 여전히 Windows 측의 권한에 영향을 미치는 것 같습니다. 여전히 Samba에 의해 시행됩니다. 디렉토리에 root:backup 0660권한 Domain User이있는 경우 Windows ACL에에 대한 항목이 있어도 임의의 디렉토리에 대한 액세스 권한이 없습니다 Domain Users. 그룹을 NT 그룹에 매핑 backup하는 users위치로 변경 하면 작동합니다. 따라서 분명히 UNIX 권한은 여전히 ​​적용됩니다.usersDomain Users

Windows ACL이 나머지를 거부하도록하는 설정이 있습니까? 즉, Windows ACL이를 허용 Domain Users하면 UNIX 권한에 관계없이 허용됩니까? 아니면 UNIX 권한을 사용하여 Samba를 비활성화 할 수 있습니까?

다른 질문은 Samba가 UNIX 권한을 저장하는 방법입니다. 새 구성에서는 inherit owner = yes. 이것은 UNIX 그룹을 다른 것으로 변경하려고 할 때를 제외하고는 UNIX와 같은 두 Windows에서 예상대로 작동하는 것처럼 보였습니다. 처음에 setgid 비트는 john그룹이 inherit owner아닌 소유자에게만 영향을 미치는 것으로 생각하여 그룹으로 공유에 설정되었습니다 . 그러나 공유에서 setgid 비트를 제거하고 그룹을 users재귀 적으로 변경할 때 inherit owner = yesWindows 10 클라이언트에서 만든 새 파일과 디렉터리가 여전히 그룹과 함께 생성되었습니다 john. 디렉토리 트리에 그룹이 john남아 있는 디렉토리가 없었습니다. 만일을 대비하여 Windows 클라이언트와 Samba 서버를 다시 시작하려고했지만 아무것도 변경되지 않았습니다.

Samba는 UNIX 권한을 다른 곳에 저장하므로 파일 시스템에서 직접 UNIX 그룹을 변경해도 Samba가 추적하는 그룹에 영향을주지 않습니까? 아니면 Samba가 여전히 새 파일과 디렉토리에이 이전 그룹을 사용하는 원인은 무엇일까요?

아래에서 Samba 버전 4.7.6 구성의 잠재적 관련 옵션을 찾을 수 있습니다. 더 많은 정보가 필요하면 알려주십시오.

[global]
access based share enum = yes
acl group control = no
acl map full control = yes
acl_xattr:ignore system acls = yes
acl_xattr:default acl style = windows
create mask = 0775
directory mask = 0775
dos filemode = yes
dos filetime resolution = no
dos filetimes = yes
ea support = no
force create mode = 0600
force directory mode = 0600
force unknown acl user = no
guest account = nobody
guest ok = no
guest only = no
inherit acls = no
inherit owner = unix only
inherit permissions = no
invalid users = root
map acl inherit = yes
map archive = no
map hidden = no
map readonly = no
map system = no
map to guest = never
nt acl support = yes
obey pam restrictions = no
read only = yes
restrict anonymous = 2
security = user
server role = active directory domain controller
store dos attributes = yes
unix extensions = yes
vfs objects = dfs_samba4 acl_xattr shadow_copy2

[backups]
create mask = 0660
directory mask = 0770
ea support = yes
path = /mnt/pool/backups
read only = no
오 티드 나이프

Samba는 UNIX 권한을 다른 곳에 저장하므로 파일 시스템에서 직접 UNIX 그룹을 변경해도 Samba가 추적하는 그룹에 영향을주지 않습니까? 아니면 Samba가 여전히 새 파일과 디렉토리에이 이전 그룹을 사용하는 원인은 무엇일까요?

이 두 번째 질문에 대한 답을 찾을 수있었습니다. 저와 함께 실험하는 동안 inherit owner한 번은 NT ACL의 일부로 저장된 값이 무엇인지 알고 싶었 기 때문에을 사용하여 디렉토리를 조사했고 samba-tool ntacl get /path/to/dir놀랍게도 이전 GID가 group_sid. 나는 더 이상 다른 곳 파일 시스템의 이전 GID에 대한 다른 참조를했다 없기 때문에 그리고, 이것은 삼바의 원인, 특히 I가 상속 소유자를 설정할 때마다 때문에, 기존의 UNIX 그룹에 들고 보인다 unix only거나 no, 그것이이 없습니다 이전 UNIX 그룹. 그래서 분명히 설정 inherit owneryes(즉 unix and windows), 삼바는 NT의 ACL에 저장되어있는 그룹에 UNIX 그룹을 설정됩니다.

여전히 첫 번째 질문에 대한 답변을 원하지만 NT 그룹 Domain Users을 선호하는 UNIX 그룹매핑 하는 방법을 찾고 POSIX ACL을 통해 다른 사용자의 권한을 0으로 설정 하는 방법을 찾았습니다 setfacl -Rm d:o:---,o:--- /my/share..

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

퀵 런처 또는 바로 가기 관리 권한을 부여하는 방법은 무엇입니까?

분류에서Dev

많은 파일이있는 디렉토리를 처리하기 위해 Unix 찾기 결과 수를 제한하는 방법

분류에서Dev

Unix : 파일 또는 디렉토리 권한을 "복사"하는 방법이 있습니까?

분류에서Dev

사용자가 주어진 fs 객체에 대해 가지고있는 Unix 권한을 정확하게 가져 오는 방법은 무엇입니까?

분류에서Dev

Samba에서 쓰기 권한을 부여하는 방법은 무엇입니까?

분류에서Dev

에 허가를 요청 권한을 확인하는 방법 (쉬운 코딩 및 이해하기 쉽게)

분류에서Dev

Android-앱이 작동하기 위해 부여해야하는 위험한 권한을 처리하는 올바른 방법?

분류에서Dev

MEF PipelineSegments.store에 대한 액세스 권한을 처리하는 방법

분류에서Dev

MEF PipelineSegments.store에 대한 액세스 권한을 처리하는 방법

분류에서Dev

C # 관리자 권한 / 권한을 확인하는 방법

분류에서Dev

AWK가 명령을 처리하는 방법에 대해 혼동

분류에서Dev

Google Cloud Storage로 사용자 권한을 처리하는 올바른 방법?

분류에서Dev

설치 관리자가 Windows 10에서 권한을 우회하는 방법

분류에서Dev

Samba 4로 그룹 쓰기 권한을 얻는 방법은 무엇입니까?

분류에서Dev

nextjs로 가져 오기 URL을 처리하는 방법

분류에서Dev

Java가 폐기 값을 처리하는 방법

분류에서Dev

동기 호출을 처리하는 가장 좋은 방법

분류에서Dev

GCP에서 서비스 계정 가장이 개발자 사용자 인증 정보와 권한을 처리하는 가장 좋은 방법인가요?

분류에서Dev

"Unix as IDE"철학 하에서 C 메이크 파일을 처리하는 방법은 무엇입니까?

분류에서Dev

UNIX에서 Secure Copy로 소유권을 저장하는 방법

분류에서Dev

여러 비동기 작업을 처리하고 추가 처리를 위해 각각을 처리하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

웹 서버가 동시 요청을 처리하기 위해 스레드 풀을 관리하는 방법

분류에서Dev

테스트를 위해 AndroidManifest.xml에 권한을 추가하는 방법

분류에서Dev

jQuery를 사용하여 선택한 테이블 열에 대해 클릭 이벤트 처리기가 응답하도록하는 방법은 무엇입니까?

분류에서Dev

Apache에 대한 파일 권한을 처리하는 간단하고 안전한 방법은 무엇입니까?

분류에서Dev

사용자가 선택한 알림 설정 권한 경고를 처리하는 방법

분류에서Dev

동일한 ID가 필요할 수있는 항목을 처리하는 방법

분류에서Dev

Visual Studio 다중 장치 하이브리드 앱 AndroidManifest.xml에 사용 권한을 추가하는 방법

분류에서Dev

C # .NET 코어 컨트롤러가 처리하는 개체에 대한 확장을 처리하는 기능을 추가하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    퀵 런처 또는 바로 가기 관리 권한을 부여하는 방법은 무엇입니까?

  2. 2

    많은 파일이있는 디렉토리를 처리하기 위해 Unix 찾기 결과 수를 제한하는 방법

  3. 3

    Unix : 파일 또는 디렉토리 권한을 "복사"하는 방법이 있습니까?

  4. 4

    사용자가 주어진 fs 객체에 대해 가지고있는 Unix 권한을 정확하게 가져 오는 방법은 무엇입니까?

  5. 5

    Samba에서 쓰기 권한을 부여하는 방법은 무엇입니까?

  6. 6

    에 허가를 요청 권한을 확인하는 방법 (쉬운 코딩 및 이해하기 쉽게)

  7. 7

    Android-앱이 작동하기 위해 부여해야하는 위험한 권한을 처리하는 올바른 방법?

  8. 8

    MEF PipelineSegments.store에 대한 액세스 권한을 처리하는 방법

  9. 9

    MEF PipelineSegments.store에 대한 액세스 권한을 처리하는 방법

  10. 10

    C # 관리자 권한 / 권한을 확인하는 방법

  11. 11

    AWK가 명령을 처리하는 방법에 대해 혼동

  12. 12

    Google Cloud Storage로 사용자 권한을 처리하는 올바른 방법?

  13. 13

    설치 관리자가 Windows 10에서 권한을 우회하는 방법

  14. 14

    Samba 4로 그룹 쓰기 권한을 얻는 방법은 무엇입니까?

  15. 15

    nextjs로 가져 오기 URL을 처리하는 방법

  16. 16

    Java가 폐기 값을 처리하는 방법

  17. 17

    동기 호출을 처리하는 가장 좋은 방법

  18. 18

    GCP에서 서비스 계정 가장이 개발자 사용자 인증 정보와 권한을 처리하는 가장 좋은 방법인가요?

  19. 19

    "Unix as IDE"철학 하에서 C 메이크 파일을 처리하는 방법은 무엇입니까?

  20. 20

    UNIX에서 Secure Copy로 소유권을 저장하는 방법

  21. 21

    여러 비동기 작업을 처리하고 추가 처리를 위해 각각을 처리하는 가장 좋은 방법은 무엇입니까?

  22. 22

    웹 서버가 동시 요청을 처리하기 위해 스레드 풀을 관리하는 방법

  23. 23

    테스트를 위해 AndroidManifest.xml에 권한을 추가하는 방법

  24. 24

    jQuery를 사용하여 선택한 테이블 열에 대해 클릭 이벤트 처리기가 응답하도록하는 방법은 무엇입니까?

  25. 25

    Apache에 대한 파일 권한을 처리하는 간단하고 안전한 방법은 무엇입니까?

  26. 26

    사용자가 선택한 알림 설정 권한 경고를 처리하는 방법

  27. 27

    동일한 ID가 필요할 수있는 항목을 처리하는 방법

  28. 28

    Visual Studio 다중 장치 하이브리드 앱 AndroidManifest.xml에 사용 권한을 추가하는 방법

  29. 29

    C # .NET 코어 컨트롤러가 처리하는 개체에 대한 확장을 처리하는 기능을 추가하는 방법은 무엇입니까?

뜨겁다태그

보관