次のような多くのフォルダを含むSamba共有があります。
share
- folderA
- folderB
- folderC
- folderD
これらの共有にアクセスするユーザーは約20人です。たとえば、BenはfolderAとfolderCにアクセスできますが、folderBとfolderDにはアクセスできません。JennyはfolderBやfolderCなどにアクセスできます。
ユーザーに必要な各フォルダをマウントさせたくありません。すべてのサブフォルダを含む「共有」フォルダをマウントしてもらいたい。その後、Linux権限を設定することでアクセスが制限されます。
サブディレクトリごとにグループを作成し、それらのグループにユーザーを追加しました。アクセス制御は既存のファイルに対して完全に機能します。ただし、ユーザーがサブディレクトリにファイルを作成すると、そのディレクトリでの読み取り/書き込みアクセス権を持つ他のすべてのユーザーは拒否されます。これを解決するために、私はサンバマスキングをいじりましたが、それを機能させることができません。
私のSamba confは次のようになります。
guest ok = no
[global]
workgroup = WORKGROUP
security = user
encrypt passwords = yes
[Share]
path = /var/samba
valid users = @everybody
read only = no
writeable = yes
[folderA]
path = /var/samba/folderA
valid users = @users_folderA
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderA
[folderB]
path = /var/samba/folderB
valid users = @users_folderB
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderB
[folderC]
path = /var/samba/folderC
valid users = @users_folderC
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderC
[folderD]
path = /var/samba/folderD
valid users = @users_folderD
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderD
したがって、明らかにすべてのユーザーがグループ全員に属しているため、サブディレクトリで共有をマウントできます。各サブディレクトリへのアクセスは完全に正常に機能しています。しかし、BenがfolderCにファイルを作成するときはいつでも、ファイルはファイル権限-rwxr--r--を取得しますが、-rwxrwx ---である必要があります
それをテストするために書き込み可能=いいえおよび読み取り専用=はいに設定しようとしたので、個々のフォルダーの共有はまったく機能しないと思います。smbdとnmbdを再起動し、ネットワーク共有を再マウントしました(Windows 10の場合)。ユーザーはファイルを作成し、自分のファイルを変更することができました。
これは、raspbianを使用したraspberry piで実行されます。ファイルを含むハードドライブはext4としてフォーマットされ、fstab経由でマウントされます。
force create mode = 770
ステートメントを使用しますfolderC
。