自分と他のユーザーのフォルダーを samba で共有したいです。次のように smb.conf を作成しました:
[global]
workgroup = WORKGROUP
server role = standalone server
map to guest = never
usershare allow guests = no
hosts allow = 192.168.0.0/16
hosts deny = 0.0.0.0/0
[movies-library-share]
comment = share of movies in local network
path = /media/user1/multimedia/video/movies-library
browseable = yes
writeable = yes
valid users = user1,user2
user1 は私で、私はこの共有にアクセスしてすべてを見ることができ、書き込むこともできるので問題なく動作しますが、user2 はログインすることしかできず、それ以外はすべてアクセスできず、ファイルの読み取りさえできません。私の質問は、user2 が読み取りおよび書き込みできるようにするにはどうすればよいかということです。これは、user2 の movies-library フォルダーにアクセスするためのアクセス許可に関連している可能性があります。適切なアクセス許可またはグループをどのように割り当てればよいかわかりません。
答え1
デフォルトでは、2 人のユーザーはそれぞれ独自のグループ (user1:user1 と user2:user2) に属します。
ファイルはおそらく user1:user1 が所有しており、他のユーザーはアクセスできません。
ソリューションは、最も単純なものから最も堅牢なものまで多岐にわたります。
- シェアに
user1
追加することで、全員がそうであるように見せかけます。force user = user1
user2
これまで持っていたすべての権利と許可が現在ありますuser1
。- @DeeJayh のコメントに従って、
valid users = user1 user2
user3 や 4 などが共有を参照できないように追加することも必要です。
- シェアに
user1
追加することで、全員がグループであるかのように見せかけます。force group = user1
- 上記と同じ注意点ですが、グループの書き込みアクセスを削除するには、
chmod g-w ...
- EVERYONE に読み取り/実行アクセス権を付与します。
- これには
user2
- システム上のすべてのユーザーは、Samba 経由ではないものの、現在存在するファイルにアクセスできます。
- 今後の追加では、毎回この実行が必要になります。
chmod -R o+rx /media/user1/multimedia/video/movies-library
- グループを共有
user1
両方がメンバーであるグループを作成しuser2
、ファイルの所有権をそのグループに設定します。- そのグループを両方のユーザーに追加します。
- 共有のグループ所有権をそのグループに設定します。
- そのディレクトリ内のすべてのものがグループでアクセス可能であることを確認します。
- ディレクトリに SetGID を設定すると、将来の追加でグループが継承されます。
-
sudo usermod -a -G media-share user1 sudo usermod -a -G media-share user2 chown -R user1:media-share /media/user1/multimedia/video/movies-library chmod -R g+rx /media/user1/multimedia/video/movies-library chmod -R g+s /media/user1/multimedia/video/movies-library```
- samba 経由でファイルを追加する場合は、共有に
create mask = 0750
追加することでディレクトリとファイル マスクを設定し、グループ権限を確保できます。directory mask = 0770