Samba 共享只能供一名用戶訪問,但應該可供兩名用戶訪問

Samba 共享只能供一名用戶訪問,但應該可供兩名用戶訪問

我想使用 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 可讀可寫?我認為這可能與用戶 2 存取電影庫資料夾的權限有關。我不確定應該如何分配適當的權限或群組。

答案1

預設情況下,您的兩個使用者位於各自的群組中:user1:user1 和 user2:user2。

這些檔案可能由 user1:user1 擁有,「其他」使用者無權存取。

解決方案範圍從最簡單到最強大:

  1. 假裝每個人都user1透過添加force user = user1到共享中。
  • user2現在擁有所有的權利和權限user1
  • 根據 @DeeJayh 的評論,您還需要添加valid users = user1 user2以便 user3 和 4 等無法瀏覽共享。
  1. user1透過添加force group = user1共享來假裝每個人都是一個群組。
  • 與上面相同的警告,但您可以使用以下命令刪除群組寫入存取權限chmod g-w ...
  1. 授予每個人讀取/執行存取權限。
  • 這包括user2
  • 系統上的每個人都可以存取現在存在的文件,儘管不是透過 samba。
  • 未來的添加每次都需要運行。
  • chmod -R o+rx /media/user1/multimedia/video/movies-library
  1. 分享群組
  • 建立一個群組,該群組user1都是user2該群組的成員,並將檔案的所有權設定為該群組。
  • 將該群組新增至兩個使用者。
  • 將共享的群組所有權設定為該群組。
  • 確保該目錄中的所有內容均可群組存取。
  • 在目錄上設定 GID,以便將來的新增繼承該群組。

sudo usermod -a -G 媒體分享 user1 sudo usermod -a -G 媒體分享 user2 chown -R user1:媒體分享 /media/user1/多媒體/視訊/電影庫 chmod -R g+rx /media/user1 /多媒體/視頻/電影庫chmod -R g+s /media/user1/多媒體/影片/電影庫```

  • 如果您透過 samba 新增文件,則可以透過新增create mask = 0750directory mask = 0770到共用來設定目錄和文件遮罩以確保群組權限。

相關內容