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
이 경우 이는 필요한 것보다 훨씬 더 많은 액세스를 삼바에 허용하므로해서는 안 된다사용이러한 상황에서설치 옵션을 쉽게 구성할 수 있기 때문입니다.