Linux 和 Windows 之間共享文件之 samba

導語

若是對windows有過實際操做技巧的人都會明白,在windows下的文件共享加上網絡驅動器映射是多麼方便的體驗,甚至比ftp更加的簡單,就像本地多了一塊可與他人交流的硬盤同樣。linux

問題

因爲性能和生態的緣由,大多數人都選擇的是linux 操做系統,而linux系統的環境與windows大不相同,windows的共享大量依賴與本身的用戶模型系統。 若是想要在linux上與windows實現相互共享,很明顯須要第三方的軟件來模擬和轉換。ios

方案

這麼剛性的需求,確定有大量的人早已實現了這樣的需求,咱們一番探究,選取一個最簡單的方案–sambawindows

實施

安裝

安裝這個東西很是簡單安全

yum install samba

便可。服務器

配置

配置是比較複雜的,對於samba來講。 倒不是說他的選項繁多,而是他的邏輯比較反人類,並且配置說明和實際操做嚴重不符。 咱們網絡

vi /etc/samba/smb.conf

這個地方咱們進去編輯,會發現密密麻麻的一大片,大部分是註釋,用來教你怎麼配置。 而後其語言幾度不精煉,並且寫的居然有問題。 其實這個東西的配置自己十分的簡單,只須要配置好兩個節點。app

[global]
workgroup = mygroup   #工做組
server string = Samba Server Version %v #服務器文本
netbios name = HOME-WS    #主機名
log file = /var/log/samba/log.%m #日誌名稱
max log size = 50    #最大日誌大小
guest ok = yes        #是否容許guest 帳戶
security = user    #安全模式

這段是全局配置,其中其中最大的坑在於less

security = user

這一句文檔中解釋說性能

security = the mode Samba runs in. This can be set to user, share # (deprecated), or server (deprecated).測試

意思就是可取值爲user、share、server。 取這三個值分別對應用戶模式、共享模式、域模式。 其中取值share的時候用戶不須要輸入密碼直接就能夠訪問,share的時候由域服務器驗證。這裏咱們簡單點的需求就是直接取值share。 然而。。。。報錯了。

WARNING: Ignoring invalid value 'share' for parameter 'security'

值無效! 我湊! 尼瑪! 老子是按照你的說法這樣弄的啊!!! 因而翻文檔,文檔中又是這樣說的

「(map to guest) Bad User - Means user logins with an invalid password are rejected, unless the username does not exist, in which case it is treated as a guest login and mapped into the guest account.」 Combined with a 「guest ok = yes」 directive under a share will enable user/password-less browsing.

坑爹貨,這下明白了,得仍是用

security = user

而後加上

map to guest = Bad Password

再而後配合

guest ok = yes

就能夠實現用戶匿名直接訪問了。 接下來就是創建共享目錄了。 很簡單,在下面新建節點

[共享名稱]
comment = sharefile
path = /var/sharefiles
public = yes
writable = yes
available = yes
browsable = yes
guest ok = yes
create mask = 0777
directory mask = 0777

ok了。

測試

這下在windows上就用\\ip 就能夠看到共享的內容了。

相關文章
相關標籤/搜索