LinuxとWindows間の共有ファイルシステムの権限を設定する正しい方法

LinuxとWindows間の共有ファイルシステムの権限を設定する正しい方法

Samba共有を介してアクセスできるネットワークドライブがあります。 Windows 10およびUbuntu mateの共有ドライブでファイルを作成、編集、読み取り/書き込みしたいと思います。

Linuxでファイルを作成すると、Windowsで編集できないことがわかりました。また、Windows(NTFS)から共有ドライブ(ext4)に多数のファイルを同期すると、そのファイルを見ることはできますが、Ubuntuでは編集できません。私が使用する命令は...

sudo rsync -rltzhHvn --info=progress2 "/media/ubuntu-mate/DATA/Personal Stuff" "/media/ubuntu-mate/4TB1/DataShare/Personal-Stuff"

私はLinuxの権限とSambaについて少し知っているので、これが私が使用を検討しているソリューションです...

  1. ルートアクセスなしでUbuntuユーザーアカウント(ubuntu-user)を作成します。 sudoは必ず必要なまれな場合にのみ使用してください。
  2. Ubuntuで生成されたファイルには、-->などの所有者/グループがあります。ubuntu-user:ubuntu-user
  3. たとえば、Samba共有を設定します。
force user = ubuntu-user
create mask = 0666
directory mask = 0777
  1. Windowsでは、Ubuntuで作成されたファイルを編集/削除できるだけでなく、Ubuntuで編集/削除できるファイルも作成できます。

これを正しく実行していますか?それとももっと良い方法がありますか?

たとえば、ファイルが一部のシステムプロセスまたはUbuntuのルートによって作成された場合、Windowsの共有を介してそのファイルを読み書きすることができない場合はどうなりますか?この場合、Samba共有を次のように変更できることがわかります。

force user = root
create mask = 0666
directory mask = 0777

私はこれがうまくいくと思いましたが、Windowsで作成されたすべてのファイルはLinuxで編集できませんubuntu-user。 Samba共有へのrootアクセス権を持つLinuxユーザーアカウントを作成できますがforce user = root、これは簡単ですが、お勧めできません。

乾杯。

答え1

これは私の権限ですが、SambaユーザーとSambaグループを作成することをお勧めします。必須ユーザーと必須グループはファイル権限の作成を担当します。

   path = /path/to/file
   force user = sambauser
   force group = smbagroup
   create mask = 0664
   force create mode = 0664
   directory mask = 0775
   force directory mode = 0775
   public = yes
   writable = yes

注:私が設定した方法はプライベートネットワーク用です。ファイルを共有できますが、変更することはできず、誰でもファイルを変更する権限を持っている場合は、より制限的な権限を持つ別のフォルダを使用することをお勧めします。

これが役に立つことを願っています。 Jason C.

関連情報