selinux samba samba_share_t 및 chcon 및 semanage fcontext

selinux samba samba_share_t 및 chcon 및 semanage fcontext

다음을 사용하여 RHEL/CENTOS 7 Linux 서버에서 Samba 폴더 공유를 올바르게 설정하는 방법에 대한 지침을 얻을 수 있습니까?selinux 시행.

SELinux에서는 파일에 파일 유형을 정의하는 확장 속성이 있어야 합니다. 정책은 이러한 파일에 대한 데몬 액세스를 제어합니다. 홈 디렉터리 외부에서 파일을 공유하려면 이러한 파일을 samba_share_t로 표시해야 합니다. 따라서 특수 디렉토리 /var/eng를 생성하는 경우 chcon 도구를 사용하여 디렉토리를 표시해야 합니다.

이 변경 사항을 영구적으로 만들려면(레이블을 다시 지정한 후에도 여전히 유효함) semanage 명령을 사용하여 파일 컨텍스트 구성에 변경 사항을 추가하세요.

chcon -t samba_share_t /data


semanage fcontext -a -t samba_share_t /data

     or

semanage fcontext -a -t samba_share_t /data*
  1. chcon -t samba_share_t /folder작동하려면 항상 그렇게 해야 합니까 , 아니면 그냥 그렇게 해도 됩니까 semanage?
  2. chcon -t samba_share_t나열하려는 폴더 만 나열하면 됩니까 /etc/samba/smb.conf, 아니면 Samba 공유 폴더 아래의 모든 하위 폴더와 파일을 표시해야 합니까?
  3. 마찬가지로 semanage fcontext -a -t samba_share_t, 공유로 지정된 단일 폴더에만 이를 적용해야 합니까 /etc/samba/smb.conf, 아니면 Samba 공유 폴더 아래의 모든 파일 및 하위 폴더에 적용해야 합니까? 그렇다면 어떻게 수행됩니까?

답변1

semanage fcontext파일 컨텍스트 데이터베이스를 수정합니다. 파일 시스템의 레이블이 다시 지정되고 .restore 파일 컨텍스트가 사용될 때 데이터베이스가 쿼리됩니다 restorecon. 항목을 추가해도 새 컨텍스트가 적용되지 않습니다. 를 사용하여 변경한 내용은 chcon직접 적용되지만 파일 컨텍스트 데이터베이스에 추가되지 않으며 restorecon파일 시스템이 보존되거나 레이블이 다시 지정되지 않습니다.

semanage fcontext새 컨텍스트를 적용하는 가장 쉬운 방법은 를 사용하여 파일 컨텍스트 데이터베이스에 새 경로를 추가하는 것 입니다 restorecon. /data(/.*)?동일한 규칙을 사용하여 파일 및 하위 디렉터리도 포함하는 등의 패턴을 사용할 수 있습니다 . restorecon그런 다음 재귀 옵션과 함께 사용하여 기존 파일을 다시 표시할 수 있습니다.

기본적으로 새 파일은 사용자 지정 컨텍스트를 사용하여 새 파일을 생성하는 정책에 특정 규칙이 없는 한 상위 폴더의 파일 컨텍스트를 상속합니다.

/data별도의 파티션인 경우 다음을 사용하여 파일 컨텍스트를 설정할 수도 있습니다 .컨텍스트 마운트. 마운트 옵션을 사용하여 파일 컨텍스트를 설정하면 파일 컨텍스트를 수정할 수 없으며 하나의 파일 컨텍스트만 있을 수 있지만 파일 시스템 수정(restorecon/relabel)이 필요하지 않으며 파일 컨텍스트를 파일 시스템으로 설정할 수 있습니다. 확장된 속성을 지원하지 않습니다.

자세한 내용과 예시는 다음을 확인하세요.RHEL 문서.

관련 정보