Linux
設置權限以在 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 有所了解,所以這是我正在考慮使用的解決方案……
- 創建一個沒有 root 訪問權限的 Ubuntu 使用者帳戶 (ubuntu-user)。僅在我真正需要的極少數情況下使用 sudo。
- 在 Ubuntu 中創建的文件將具有所有者/組,例如 –>
ubuntu-user:ubuntu-user
- 我將配置 Samba 共享,如..
force user = ubuntu-user create mask = 0666 directory mask = 0777
- 現在 Windows 應該能夠編輯/刪除在 Ubuntu 中創建的文件,還可以創建可以在 Ubuntu 中編輯/刪除的文件。
我做對了還是有更好的方法?
例如,如果文件是由某個系統程序或 Ubuntu 中的 root 創建的,那麼我將無法通過 Windows 的共享讀取/寫入/編輯它?在這種情況下,我知道我可以將 Samba 共享更改為…
force user = root create mask = 0666 directory mask = 0777
而且我認為這會起作用,但現在從 Windows 創建的任何文件都不能被 Linux 編輯
ubuntu-user
。我可以force user = root
在 Samba 共享中創建一個具有 root 訪問權限的 Linux 使用者帳戶,這會更容易,但我認為不建議這樣做。乾杯。
這些是我的權限,但我建議創建一個 sambauser 和 sambagroup。force 使用者和 force 組將處理創建的文件權限。
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
注意:我進行此設置的方式是針對專用網路,如果您想要可以共享但不能修改的文件,則權限允許任何人修改文件,我建議使用具有更多限制性權限的單獨文件夾。
希望這會有所幫助,傑森 C.