Samba共有は1人のユーザーのみがアクセスできますが、2人のユーザーがアクセスできる必要があります。

Samba共有は1人のユーザーのみがアクセスできますが、2人のユーザーがアクセスできる必要があります。

自分と他のユーザーのフォルダーを 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 が所有しており、他のユーザーはアクセスできません。

ソリューションは、最も単純なものから最も堅牢なものまで多岐にわたります。

  1. シェアにuser1追加することで、全員がそうであるように見せかけます。force user = user1
  • user2これまで持っていたすべての権利と許可が現在ありますuser1
  • @DeeJayh のコメントに従って、valid users = user1 user2user3 や 4 などが共有を参照できないように追加することも必要です。
  1. シェアにuser1追加することで、全員がグループであるかのように見せかけます。force group = user1
  • 上記と同じ注意点ですが、グループの書き込みアクセスを削除するには、chmod g-w ...
  1. EVERYONE に読み取り/実行アクセス権を付与します。
  • これにはuser2
  • システム上のすべてのユーザーは、Samba 経由ではないものの、現在存在するファイルにアクセスできます。
  • 今後の追加では、毎回この実行が必要になります。
  • chmod -R o+rx /media/user1/multimedia/video/movies-library
  1. グループを共有
  • 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

関連情報