
Raspberry PiおよびRaspbian / Sambaサーバーと共にインストールされているUSBデバイスのユーザー権限について質問があります。
「/media」フォルダには、次の2つのサブフォルダがあります。
drwx------ 45 pi pi 8192 ADAC_STICK (I think this one was created automatically)
drwxr-xr-x 2 root root 4096 usbadac (Created this on my own with mkdir)
/media/usbadacにインストールされた「ADAC_STICK」というUSBスティック
sudo mount -t vfat -o uid=pi,gid=pi,umask=0000 /dev/sda1 /media/usbadac
/media/usbadac フォルダには次の権限があります ("/media" の "ls -la" 経由)。
drwx------ 45 pi pi usbadac
ローカルネットワーク(インターンIP)を介してユーザー「pi」に接続すると正常に動作します。
今質問が来ます:ネットワークの他のユーザーが/media/usbadac/Familyに接続するために、2番目のアカウント「Family」を使用したいと思います。
そのため、システムユーザーとSambaユーザー「family」を作成しました。
sudo adduser --diabled-login family
sudo smbpasswd -a family
このアカウントを使用して(たとえば、AndroidデバイスやWindows経由でローカルネットワークを介して)Sambaに接続すると、正常に機能しないため、アカウントが許可されていないというエラーが表示されます。
/media/usbadac フォルダの権限は次のようにする必要があります。
drwxrwxrwx pi pi usbadac
drwxr-xr-x pi pi usbadac
使ってchmod 777 /media/usbadac
も効果がありません。
サンバ構成:
[USB-ADAC]
path = /media/usbadac
writeable = yes
guest ok = no
valid users = pi
[FAMILY_USB-ADAC]
path = /media/usbadac/Family
writeable = yes
guest ok = no
valid users = pi,family
今何をすべきですか?私は何を忘れましたか?
答え1
主な問題は、USBスティックにPOSIXアクセス権と互換性のないVFATパーティションがあることです(実際、NTFSとは異なり、アクセス権はまったくサポートされていません)。したがって、カーネルがUSBスティックをマウントするときは、その/media/usbadac
オプション行に定義されている仮想アクセス権を繰り返し適用します/etc/fstab
。これらのアクセス権は、他のオプションを使用して削除して再インストールするまで変更できません。
したがって、より緩やかなアクセス権を付与する必要があります。たとえば、という名前のUNIXグループを作成し、そのグループにsambausers
入れてから、そのグループとより良いマスクを使用してUSBスティックをマウントできます。pi
family
groupadd sambausers
usermod -a -G sambausers pi
usermod -a -G sambausers family
sudo mount -t vfat -o uid=pi,gid=sambausers,fmask=0113,dmask=0002 /dev/sda1 /media/usbadac
マウントされたUSBスティックには代わりに権限が必要なので、回答を書くときにいくつかの設定を変更したようですdrwxrwxrwx
。より細かいアクセス権ポリシーを持つようにマスクを変更しました(ファイルとディレクトリを区別します)。drwx------
umask=0000
Samba共有は現状のまま動作する必要があります(Samba共有を入れ子にできる限り、これを防ぐ方法はないと思います)。