CentOS7에서 Samba와 마운트된 드라이브 공유

CentOS7에서 Samba와 마운트된 드라이브 공유

CentOS 7, Samba 문제: USB 드라이브를 EXT4 파일 시스템과 공유하려고 할 때 파일/폴더가 0개입니다.

삼바 구성 파일:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = 271-filesharing
security = user
map to guest = bad user
dns proxy = no

#============================ Share Definitions ============================== 
[Administrator]
path = /mnt/ELEMENTERY-1TB/
browsable =yes
writable = yes
public = no
valid users = RVS

Samba에 RVS라는 사용자가 있습니다. 사용자의 홈 디렉터리 경로를 사용할 때 내 Macbook Pro를 사용하여 삼바 공유에 액세스할 수 있습니다.

나는 그것을 끝냈다 sudo chown RVS:RVS -R /mnt/ELEMENTERY-1TB. 드라이브에 대한 권한은 다음과 같습니다.

[RVS@271 mnt]$ ls -al
total 4
drwxr-xr-x.  3 RVS  RVS    28 Sep 12 00:26 .
dr-xr-xr-x. 17 root root  224 Sep  9 11:27 ..
drwxrwxrwx.  4 RVS  RVS  4096 Sep 12 00:26 ELEMENTERY-1TB

저는 RVS 사용자로도 사용하고 있습니다 sudo mount /deb/sdb /mnt/ELEMENTERY-1TB.

구성/권한에서 뭔가를 건너뛰었나요?

답변1

CentOS는 기본적으로 SELinux를 활성화하여 시스템에 추가적인 보안 제한을 추가합니다. 기본 정책은 주로 제한된 소프트웨어의 일반/기본 구성을 다룹니다. 액세스가 거부되면 일반적으로 감사 로그에 로그 항목이 생성됩니다 /var/log/audit/audit.log.

이동식 미디어의 경우 SELinux를 사용하여 장치를 마운트하는 것을 고려해야 합니다.상황별 옵션. 이렇게 하면 시스템의 SELinux 정책을 수정하고 이동식 장치의 파일 시스템 레이블을 다시 지정할 필요가 없습니다. samba_share_t이는 마운트 지점이 Samba와 함께 작동하도록 하려는 경우에 작동합니다. /label 유형을 사용하는 경우 user_home_t파일은 사용자의 홈 디렉터리에 있는 것으로 간주됩니다.

mount -t ext4 /dev/sdb /mnt/ELEMENTERY-1TB \
      -o context="system_u:object_r:samba_share_t:s0"

또는/etc/fstab

UUID=<...> /mnt/ELEMENTERY-1TB/ ext4 defaults,errors=remount-ro,context="system_u:object_r:samba_share_t:s0" 0 1

SELinux에 여전히 문제가 있는 경우 다음을 사용할 수 있습니다.audit2why액세스가 거부된 이유와 SELinux가 존재할 수 있는지 알아보십시오.부울 값접근을 허용하기 위해 존재합니다. SELinux 정책을 변경해야 하는 경우 다음을 사용할 수 있습니다.audit2allow액세스를 허용하는 정책 모듈을 생성합니다.

활성화되면 삼바가 모든 파일에 액세스(및 공유)할 수 있도록 samba_export_all_ro하는 두 가지 부울 값도 있습니다 . samba_export_all_rw이 경우 이는 필요한 것보다 훨씬 더 많은 액세스를 삼바에 허용하므로해서는 안 된다사용이러한 상황에서설치 옵션을 쉽게 구성할 수 있기 때문입니다.

관련 정보