使用smb協議掛載很難解決亂碼問題,使用cifs則沒亂碼問題
linux訪問Windows共用資料夾或者使用其它linux機器使用samba的共用目錄
1。Windows共用一個檔案夾share, 開放所有許可權
2。Linux下執行 mount -t cifs //192.168.2.26/device /mnt/share -o username=share,password=share,rw,file_mode=0777,dir_mode=0777,setuid=509,setgid=101
其中,uid=509, gid=101是一個普通使用者dba /mnt/share許可權位是0777,所有使用者有完整存取
3.執行後, dba使用者可以訪問 /mnt/share ,也就是Windows的共用資料夾。讀取無問題。vi 建立一個新檔案,寫入儲存也無問題。
4。問題在於:dba建立的新檔案,是屬於root.root,第二次用vi開啟就是唯讀開啟了。
請問:
怎麼讓dba建立的檔案或檔案夾,所有權不是root.root,而是dba.dba_group?
Windows裡沒有和Linux/Unix完全對應的許可權,檔案顯示是屬於某個使用者,實際上也是假象。不過你可以這樣按下邊的方式掛載,則永遠顯示檔案屬於某人。
在我的系統當中存在一個uid/gid都是888 的test使用者。
mount -t cifs //192.168.1.128/share /mnt/smb -o username=someone,password=someone,rw,uid=888,gid=888
注意我把你的setuid和setgid參數換為uid和gid參數。現在test使用者讀寫不成問題,建立檔案也歸自己所有。但其他使用者就又有問題了,不知道是否能滿足樓主的要求。
根據以上資料,編輯/etc/fstab檔案
在最後一行加入:
//ip/共用目錄名 /掛載位置 cifs username=someone,password=someone,rw 0 0
開機就能自動掛載到系統上面了,並且表徵圖也自動出現在案頭上面