Debian

授予所有使用者訪問已裝載 CIFS 共享的權限

  • April 21, 2021

我正在嘗試設置一個執行多個基於網路的服務的 debian 伺服器。這些服務需要訪問外部網路驅動器來儲存其數據。出於安全原因,我已將每個服務設置為在其自己的使用者下執行。為了讓他們都可以訪問網路共享,我創建了一個新組driveaccess, 使用 gip 1003

然後我通過將以下內容添加到 /ets/fstab 來設置網路共享

//192.168.42.2/Data/ /media/Data cifs guest,rw,mand,gid=1003,forcegid,user=duckies%swordfish 0 0

安裝驅動器後,服務帳戶將權限視為

-rwxr-xr-x 1 root driveaccess   1544704 Jun  1  2013 AppData1.dat

並且程序可以毫無問題地讀取數據,但是任何寫入驅動器的嘗試都會失敗

touch: cannot touch `test.txt': Permission denied

我需要向 fstab 添加什麼以讓 driveaccess 組中的所有內容都寫入共享?

我已經執行了:

usermod -aG driveaccess serviceaccount1

您可能希望在fstab條目中為已掛載的文件系統添加顯式權限:

<your other options>,file_mode=0770,dir_mode=0770

通過允許所有組成員讀取、寫入和執行所有文件並禁止系統的任何其他使用者訪問,這將是安全的。如果您仍然希望其他人具有讀取權限,必須將 替換為0適當的值。例如

<your other options>,file_mode=0775,dir_mode=0775

用於讀取和執行權限。

在我使用 Win 10 的情況下,除了 gnu/linux 端的權限

sudo mount -t cifs -o username=user1,file_mode=0777,dir_mode=0777 //192.168.1.11/shared-d ~/shared-d

我必須在 Windows 端為“每個人”添加讀/寫權限:屬性-> 共享-> 共享…

引用自:https://unix.stackexchange.com/questions/106596