3.7. POSIX ACL을 사용하는 Samba 파일 공유 설정
Samba는 Linux 서비스로 POSIX ACL과의 공유를 지원합니다. chmod와 같은 유틸리티를 사용하여 Samba 서버에서 권한을 로컬로 관리할 수 있습니다. 공유가 확장된 속성을 지원하는 파일 시스템에 저장된 경우 여러 사용자 및 그룹으로 ACL을 정의할 수 있습니다.
대신 미세한 Windows ACL을 사용해야 하는 경우 Windows ACL을 사용하는 공유 설정을 참조하십시오.
이 섹션의 일부는 Samba Wiki에 게시된 POSIX ACL을 사용하여 공유 설정 설명서에서 채택되었습니다. 라이센스: CC BY 4.0. 작성자 및 기여자: Wiki 페이지의 기록 탭을 참조하십시오.
3.7.1. POSIX ACL을 사용하는 공유 추가 링크 복사링크가 클립보드에 복사되었습니다!
/srv/samba/ 디렉터리의 콘텐츠를 제공하고 POSIX ACL을 사용하는 example이라는 공유를 생성할 수 있습니다.
example /
사전 요구 사항
Samba는 다음 모드 중 하나로 설정되었습니다.
절차
폴더가 없는 경우 해당 폴더를 생성합니다. 예를 들면 다음과 같습니다.
mkdir -p /srv/samba/example/
# mkdir -p /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow enforcing모드에서 SELinux를 실행하는 경우 디렉터리에samba_share_t컨텍스트를 설정합니다.semanage fcontext -a -t samba_share_t "/srv/samba/example(/.*)?" restorecon -Rv /srv/samba/example/
# semanage fcontext -a -t samba_share_t "/srv/samba/example(/.*)?" # restorecon -Rv /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리에 파일 시스템 ACL을 설정합니다. 자세한 내용은 다음을 참조하십시오.
예제 공유를
/etc/samba/smb.conf파일에 추가합니다. 예를 들어, 쓰기 가능 공유를 추가하려면 다음을 수행합니다.[example] path = /srv/samba/example/ read only = no
[example] path = /srv/samba/example/ read only = noCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고파일 시스템 ACL에 관계없이
read only = no를 설정하지 않으면 Samba는 읽기 전용 모드로 디렉토리를 공유합니다./etc/samba/smb.conf파일을 확인합니다.testparm
# testparmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 포트를 열고
firewall-cmd유틸리티를 사용하여 방화벽 구성을 다시 로드합니다.firewall-cmd --permanent --add-service=samba firewall-cmd --reload
# firewall-cmd --permanent --add-service=samba # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow smb서비스를 다시 시작하십시오.systemctl restart smb
# systemctl restart smbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.2. POSIX ACL을 사용하는 Samba 공유에 표준 Linux ACL 설정 링크 복사링크가 클립보드에 복사되었습니다!
Linux의 표준 ACL은 한 명의 소유자, 하나의 그룹 및 기타 모든 정의되지 않은 사용자에 대한 권한 설정을 지원합니다. chown,chgrp 및 chmod 유틸리티를 사용하여 ACL을 업데이트할 수 있습니다. 정확한 제어가 필요한 경우 보다 복잡한 POSIX ACL을 사용할 수 있습니다.
POSIX ACL을 사용하는 Samba 공유에서 확장 ACL 설정.
다음 절차에서는 /srv/samba/example/ 디렉터리의 소유자를 root 사용자로 설정하고, Domain Users 그룹에 읽기 및 쓰기 권한을 부여하며, 다른 모든 사용자에 대한 액세스를 거부합니다.
사전 요구 사항
- ACL을 설정하려는 Samba 공유가 있습니다.
절차
chown root:"Domain Users" /srv/samba/example/ chmod 2770 /srv/samba/example/
# chown root:"Domain Users" /srv/samba/example/
# chmod 2770 /srv/samba/example/
디렉토리에서 set-group-ID(SGID) 비트를 활성화하면 새 디렉토리 항목을 생성한 사용자의 기본 그룹으로 설정하는 일반적인 동작이 아니라 모든 새 파일 및 하위 디렉터리의 기본 그룹을 디렉토리 그룹의 기본 그룹으로 자동으로 설정합니다.
3.7.3. POSIX ACL을 사용하는 Samba 공유에 확장 ACL 설정 링크 복사링크가 클립보드에 복사되었습니다!
공유 디렉터리가 확장 ACL을 지원하는 경우 파일 시스템을 사용하여 복잡한 권한을 설정할 수 있습니다. 확장 ACL에는 여러 사용자와 그룹에 대한 권한이 포함될 수 있습니다.
확장 POSIX ACL을 사용하면 여러 사용자 및 그룹으로 복잡한 ACL을 구성할 수 있습니다. 그러나 다음 권한만 설정할 수 있습니다.
- 액세스 권한 없음
- 읽기 액세스
- 쓰기 액세스
- 전체 제어
Create folder / append data와 같은 세분화된 Windows 권한이 필요한 경우 Windows ACL을 사용하도록 공유를 구성합니다. Windows ACL을 사용하는 공유 설정을 참조하십시오.
다음 절차는 공유에서 확장 ACL을 활성화하는 방법을 보여줍니다. 또한 확장 ACL 설정에 대한 예제도 포함되어 있습니다.
사전 요구 사항
- ACL을 설정하려는 Samba 공유가 있습니다.
절차
/etc/samba/smb.conf파일의 공유 섹션에서 다음 매개 변수를 활성화하여 확장 ACL의 ACL 상속을 활성화합니다.inherit acls = yes
inherit acls = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은
smb.conf(5)도움말 페이지의 매개 변수 설명을 참조하십시오.smb서비스를 다시 시작하십시오.systemctl restart smb
# systemctl restart smbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리에 ACL을 설정합니다. 예를 들면 다음과 같습니다.
예 3.2. 확장 ACL 설정
다음 절차에서는
Domain Admins 그룹에 대한 읽기, 쓰기, 실행 권한을 설정하고, DomainUsers그룹에 대한 읽기, 실행 권한을 설정하고,/srv/samba/example/디렉터리의 다른 모든 사용자에 대한 액세스를 거부합니다.기본 사용자 계정 그룹에 자동 부여 권한을 비활성화합니다.
setfacl -m group::--- /srv/samba/example/ setfacl -m default:group::--- /srv/samba/example/
# setfacl -m group::--- /srv/samba/example/ # setfacl -m default:group::--- /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리의 기본 그룹은 동적
CREATOR GROUP주체에 추가로 매핑됩니다. Samba 공유에 확장 POSIX ACL을 사용하면 이 주체가 자동으로 추가되며 제거할 수 없습니다.디렉터리에 대한 권한을 설정합니다.
Domain Admins그룹에 읽기, 쓰기 및 실행 권한을 부여합니다.setfacl -m group:"DOMAIN\Domain Admins":rwx /srv/samba/example/
# setfacl -m group:"DOMAIN\Domain Admins":rwx /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Domain Users그룹에 읽기 및 실행 권한을 부여합니다.setfacl -m group:"DOMAIN\Domain Users":r-x /srv/samba/example/
# setfacl -m group:"DOMAIN\Domain Users":r-x /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow otherACL 항목과 일치하지 않는 사용자에 대한 액세스를 거부하도록 다른 ACL 항목에 대한 권한을 설정합니다.setfacl -R -m other::--- /srv/samba/example/
# setfacl -R -m other::--- /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이러한 설정은 이 디렉터리에만 적용됩니다. Windows에서는 이러한 ACL이
This folder only에만 매핑됩니다.이전 단계에서 설정한 권한을 이 디렉터리에 생성된 새 파일 시스템 개체에서 상속하려면 다음을 수행합니다.
setfacl -m default:group:"DOMAIN\Domain Admins":rwx /srv/samba/example/ setfacl -m default:group:"DOMAIN\Domain Users":r-x /srv/samba/example/ setfacl -m default:other::--- /srv/samba/example/
# setfacl -m default:group:"DOMAIN\Domain Admins":rwx /srv/samba/example/ # setfacl -m default:group:"DOMAIN\Domain Users":r-x /srv/samba/example/ # setfacl -m default:other::--- /srv/samba/example/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 설정에서 보안 주체의
이 폴더만이 폴더, 하위 폴더 및 파일로설정됩니다.
Samba는 절차에 설정된 권한을 다음 Windows ACL에 매핑합니다.
Expand Principal 액세스 적용 대상 도메인\Domain 관리자
전체 제어
이 폴더, 하위 폴더 및 파일
도메인\Domain 사용자
읽기 및 실행
이 폴더, 하위 폴더 및 파일
Everyone[a]없음
이 폴더, 하위 폴더 및 파일
소유자 (Unix 사용자\소유자) [b]
전체 제어
이 폴더만
primary_group (Unix 사용자\primary_group) [c]
없음
이 폴더만
전체 제어
하위 폴더 및 파일만
없음
하위 폴더 및 파일만
[a] Samba는 이 주체에 대한 권한을otherACL 항목에서 매핑합니다.[b] Samba는 디렉터리의 소유자를 이 항목에 매핑합니다.[c] Samba는 디렉터리의 기본 그룹을 이 항목에 매핑합니다.[d] 새 파일 시스템 개체에서 작성자는 이 주체의 권한을 자동으로 상속합니다.[e] POSIX ACL을 사용하는 공유에서 지원되지 않는 ACL에서 이러한 주체를 구성하거나 제거합니다.[f] 새 파일 시스템 개체에서 작성자의 기본 그룹은 이 주체의 권한을 자동으로 상속합니다.