*奇想西卡*

« [敗家] 新電腦 | Main | [手機] HTC diamond on Android 2.2 »

09 十月, 2010

[轉貼] win7 連 samba

網路服務 — 作者 segaa @ 10:08

原文出處 : http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=126178 

 

首先,網路上查的到的中文資料 ---> 大部分都是垃圾,都沒有提到關鍵處,包括 wiki 那一篇....有些有用,不過沒有系統化,都是片段的。

------------------------------------
先說 win7 為啥無法連:

假設你的 samba 已經配置完畢
(假設 xp 已經可以連,但 win7 無法連)



1.開啟網路探索,如下圖:

控制台 - 網路和共用中心




開啟網路探索
開啟檔案及印表機共用
開啟共用
使用 128位元加密
開啟以密碼保護共用
允許 windows 管理家用群組連線
(全部都選 第一個/上面那個 就對了)

如果每次選了開啟網路探索,但是按確定套用後,設定又會跳掉,跳回未開啟,怎樣也開啟不了,怎麼辦?

是否有用過「windows7 優化大師」這一類的東西?

如果有,恭喜,重灌 win7 吧!XD
...囧rz

我就是卡在這裡,卡了好幾天,都沒辦法連
原因出在那啥鬼 window7 優化大師,不知道把什麼網路功能給閹了,導致怎樣也無法開啟網路探索。

開啟網路探索後,應該就可以連了

如果還是不行,繼續:

2.win7 使用了一種新的加密編碼,舊版的 samba 無法相容

基本上 Ubuntu 使用的是新版 samba,這一點不用理會。如真不能連,參考看看:

執行..
輸入:gpedit.msc
叫出「本機安全性原則」



如下圖:

電腦設定 - widnows 設定 - 安全性設定 - 本機原則 - 安全性選項

找:網路安全性 Lan Manager 驗證等級



修改值為以下:
優先使用 LV 和 NTLM (傳統編碼)
如有交涉,使用 NTLMv2 (win7 新的編碼)

如下圖:



這樣子,win7 應該就可以連 smaba 了。

-----------------------------------------


再來說說 Ubuntu server 端

1.
Ubuntu 10.04 LTS
將找不到 /etc/init.d/samba 這個啟動腳本

原因請看英文版論壇:
http://ubuntuforums.org/showthread.php?p=9209320#post9209320

大意就是說:"upstart" 取代了舊有的啟動方式

10.04 版,新的啟動方式只能這樣:
sudo service smbd start
sudo service smbd stop
sudo service smbd restart

註:Ubuntu 原先的腳本名稱 samba 被改名成 smbd


2.
確認安裝 smaba

sudo apt-get install samba smbfs

sudo aptitude install samba smbfs

(建議用 aptitude 取代 apt-get,聽說對系統比較好,debian 原廠也是這樣建議)


3.
samba 的主要設定檔在 /etc/samba/smb.conf


除非你熟 samba,或英文一流,否則不可能看的懂原始版的 smb.conf ....


這邊提供小弟自己中文化註解的 smb.conf,有興趣請下載參考:
http://www.box.net/shared/jcuc49r2j8

解壓縮出 smb.conf,直接蓋掉 /etc/samba/smb.conf 即可(需 sudo/root 權限)

記得修改檔案權限和擁有者:
sudo chmod 644 /etc/samba/smb.conf
sudo chown root:root /etc/samba/smb.conf


基本上就是全中文化了,再看不懂也沒辦法了
如真看不懂,建議先花個30分鐘去看一下鳥哥的教學網站:
http://linux.vbird.org/linux_server/0370samba.php


註:此中文化註解的 smb.conf 沒有開放任何目錄,使用前必須設定。

開放的目錄,需為實際存在的目錄。


設定完畢後,重新啟動 smbd 才會生效

sudo service smbd restart


4.
一般使用 samba,都會用 user 認證層級
也就是連線必須打帳號/密碼(windows 那邊可以記憶)

但是 samba 的帳號密碼檔,和 Linux 系統自帶的,並無關係,是獨立的帳號密碼檔


加入新的使用者到 smaba 帳密檔:
sudo smbpasswd -a [使用者名稱]

設定他的 samba 密碼:
sudo smbpasswd [使用者名稱]


但是這樣一個個加會很煩,所以一般的作法是直接同步 Linux 的帳密檔
直接拿 Linux 現有的帳密,來當 samba 的帳密


Ubuntu 10.04 server 版,在安裝的時候就可以選這個功能
其它桌上版,或安裝沒選,事後怎麼裝,這我就不清楚了
請搜尋關鍵字找教學看看: samba linux 同步

不過有一個方法也能快速裝上這個功能,就是安裝 webmin
webmin 裡頭有這個功能可以打勾
此外 webmin 的 web 圖形管理界面,用來管理用戶、密碼,相當直覺好用

webmin 又是另一個主題了,這邊就不討論了,有興趣搜尋網路有很多教學...

ps.
本篇歡迎轉貼或放上 wiki,大家一起推廣 Ubuntu 吧 XD

 

樓上沒效 ~~ http://blog.the.tw/2009/12/windows-7-samba.html

 

有些使用較舊版samba架設的檔案分享功能,windows 7 (win7) 也許無法存取,

一直跳出要你輸入帳號密碼,即使輸入正確還是相同的結果。

因為驗證機制不相容才會有此種情形發生,那要如何解決呢?

以下教法只針對client端的作業系統去做修改:

1.家用進階版 以下 ( Home Premium , Home Basic , Starter )

修改regedit

在 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] 下

新增 LmCompatibilityLevel 值1

擷取

註: LmCompatibilityLevel 數字的意義 
0=Send LM & NTLM responses  (never uses NTLMv2) 
1=Send LM & NTLM - use NTLMv2 session security if negotiated 
2=Send NTLM response only, use NTLMv2 if server supports it. 
3=Send NTLMv2 response only, if DC accept LM, NTLM and NTLMv2 auth, use NTLMv2 security if supported. 
4=Send NTLMv2 response only, if DC refuse LM, accept NTLM or NTLMv2 auth, use NTLMv2 security if supported. 
5=Send NTLMv2 response only, if DC,refuse LM & NTLM and only accept NTLMv2 auth, use NTLMv2 security if supported.

2.專業版 以上 ( Professional , Enterprise , Ultimate )

開啟命令提示列,執行secpol.msc (安全性設定主控台)

image

Security Settings –> Local Policies –> Security Options  

修改 Network security: LAN Manager authentication level 這Policy的設定

image

 

選擇此值:Send LM & NTLM - use NTLMv2 session security if negotiated。

按OK後,再試試是否可以存取samba分享的目錄

image

image

 

Send LM & NTLM - use NTLMv2 session security if negotiated: Clients use LM and NTLM authentication and use NTLMv2 session security if the server supports it; domain controllers accept LM, NTLM, and NTLMv2 authentication.

 

 

 


« [敗家] 新電腦 | Main | [手機] HTC diamond on Android 2.2 »

迴響


發表迴響






Powered by LifeType