CentOS 7、sambaの問題:USBドライブをEXT4ファイルシステムと共有しようとすると0ファイル/フォルダー。
Samba構成ファイル:
[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というユーザーがいます。ユーザーのホームディレクトリへのパスを使用すると、macbookproを使用してsamba共有にアクセスできます。
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
でマウントしました。
構成/許可でスキップしたものはありますか?
CentOSはデフォルトでSELinuxを有効にします。これにより、システムにセキュリティ制限が追加されます。デフォルトポリシーは、主に、制限されたソフトウェアの標準/デフォルト構成を対象としています。アクセスが拒否されると、通常、ログエントリが/var/log/audit/audit.log
の監査ログに生成されます。
リムーバブルメディアを使用する場合は、SELinux context option を使用してデバイスをマウントすることを検討する必要があります。これにより、システムのSELinuxポリシーを変更したり、リムーバブルデバイスでファイルシステムのラベルを変更したりする必要がなくなります。マウントポイントをsambaで使用するだけにする場合は、samba_share_t
を使用できます。 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 boolean が存在してアクセスを許可している場合もあります。 SELinuxポリシーを変更する必要がある場合は、 audit2allow
を使用して、アクセスを許可するポリシーモジュールを生成できます。
有効にすると、2つのブール値samba_export_all_ro
とsamba_export_all_rw
があり、sambaが任意のファイルにアクセス(および共有)できるようになります。この場合、これによりSambaは必要以上のアクセスを許可されるため、マウントオプションを構成できるため、この状況ではを使用しないでください簡単に。