1. 程式人生 > >Linux 和 Windows 之間共享文件之 samba

Linux 和 Windows 之間共享文件之 samba

允許 ava 人類 直接 就是 war ted create 方案

導語

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

問題

由於性能和生態的原因,大多數人都選擇的是linux 操作系統,而linux系統的環境與windows大不相同,windows的共享大量依賴與自己的用戶模型系統。 如果想要在linux上與windows實現相互共享,很明顯需要第三方的軟件來模擬和轉換。

方案

這麽剛性的需求,肯定有大量的人早已實現了這樣的需求,我們一番探究,選取一個最簡單的方案–samba。

實施

1.安裝

安裝這個東西非常簡單

yum install
samba

2.配置

配置是比較復雜的,對於samba來說。 倒不是說他的選項繁多,而是他的邏輯比較反人類,而且配置說明和實際操作嚴重不符。

vi /etc/samba/smb.conf

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

[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 #安全模式

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

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 = 0777directory mask = 0777

ok了。

測試

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

Linux 和 Windows 之間共享文件之 samba