2010年5月13日 星期四

win7 無法連 samba 的問題

011812加入
在 Windows 下檢視 Samba 資料夾的方法為:
    開始 / 執行 / 「\\ip」
在 Ubuntu 下在Firefox輸入:
    smb://ip

051410取自
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=126178#forumpost126178
11,12樓
win7 無法連 samba 的問題,我也遇過,還困擾我好幾天
一點心得,提供做參考:

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

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

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

1. 開啟網路探索,如下圖:(※以下原圖已失連 060615)

控制台 - 網路和共用中心


開 啟網路探索
開啟檔案及印表機共用
開啟共用
使用 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


#12 回覆: 不好意思我真的無法解決關於SAMBA
poloshiao 5/12 0:30:14
#1
-------------------------
想 架印表機伺服器
-------------------------

如果你只是想架印表機伺服器 沒有想要分享檔案與檔案夾
我 記得應該在 印表機伺服器 那一台電腦
安裝 cups 就可以了
安裝方法見
上方面版 藍底白色問號 / Ubuntu 協助中心 /
進階操作 / Ubuntu Server Guide / Ubuntu 伺服器指南 /
13. File Servers / 13.3 CUPS - Print Server /
安裝好以後
13.3.3. Web Interface
增加 lpadmin group
把你安裝 ubuntu 用的 username 加入 lpadmin group
密碼就是 你使用 sudo 所用的 密碼

然後 用 firefox 在網址列 輸入
http://localhost:631/username
http://localhost:631/admin
進 行各項設定與管理列印的工作 ( server 端 )

然後到 client ( ubuntu 或 windows 都行 )
用  上面的 username 與 密碼 登入

用 firefox 在網址列 輸入
http://a.b.c.d:631/username
http://a.b.c.d:631/admin
進 行各項設定與管理列印的工作 ( client 端 )
上述 a.b.c.d 為 server 端 連接 client 端
的 內部區域網路 的 static address

如果你要透過 internet 列印
那要在 reuter 上 設 NAT 把 631 port 指向
server 端 的 內部區域網路 的 static address
這時 a.b.c.d 可以是 外部網址

如果以上有沒說清楚的地方
請參考 13.3 CUPS - Print Server

以上我是憑記憶, 也許有疏漏.
如果有問題再提出討論

13.3.4. References

CUPS Website

Ubuntu Wiki CUPS page(待建中)

另外 建 samba server 也是方法之一
但是 其連接的簡單性 並沒有 ip/tcp
那麼好用.

2 則留言:

Cash 提到...

感謝您的文章, 幫我解決了問題. 這篇應該是網路上解法最全的.

Loong Yang 提到...

謝謝,到現在還有用,雖很少用到windiws了