1. 程式人生 > >[Ubuntu 14.04] Samba客戶端不能修改檔案的解決辦法

[Ubuntu 14.04] Samba客戶端不能修改檔案的解決辦法

版本:
Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)

繼上一篇配置好Samba服務可以訪問讀寫之後又遇到了問題,
客戶端可以修改自己建立的檔案,但是服務端不能修改它.
服務端可以建立修改自己的檔案,但是客戶端不能修改它.

檔案/etc/samba/smb.conf新增的配置如下
[kris]  
    path = /home/kris
    available = yes  
    browseable = yes  
    public = yes  
    writable = yes     //這條只表明客戶端可以建立檔案並且能修改,但是卻不能修改服務端創建出來的檔案.

原因是客戶端創建出來的檔案所屬user是nobdoy, group是nogroup, 而服務端的user/group是kris/kris.
兩個不同使用者和不同組不能相互修改.

網上資料一般提供的方法都是直接將共享目錄下的所有檔案許可權修改:
# chmod -R 777 /home/kris

可是如果使用git,這種情況下用git status去檢視會是一片紅啊!
而且如果服務端再新增檔案呢,又要去改許可權...

其實smb.conf提供了另外一個配置叫force user, 它表示客戶端預設建立的檔案所屬使用者,
只要和服務端設定成一樣,那麼就直接可以建立和修改所有檔案了.

最終新增的配置如下:
[kris]
comment="Kris's Home"
path=/home/kris
available = yes
browseable = yes
public = yes
writable = yes
create mask = 0644    //建立檔案屬性
force user = kris    //和服務端使用者一樣