萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux與Windows 通過samba互訪共享資源

Linux與Windows 通過samba互訪共享資源

class="20886">

 關於samba網上有很多的資料,不過網上資料一般傾向於企業級別的服務器搭建。最簡單的、最基本的個人pc之間的訪問,寫的比較少,網絡資料的繁多也讓人無所適從,可能通常高手都不屑於寫太簡單文檔。我記錄下最簡單的配置,僅供參考。

  一、目的:

  1.linux訪問windows共享文件

  2.windows訪問linux共享文件(user模式-需要輸入用戶名和密碼)

  簡單描述:

  只需要在linux服務器上做samba服務的配置,兩者就可以互相訪問。

  windows訪問linux通過網上鄰居來訪問,和訪問windows主機沒有區別。

  linux訪問windows要通過mount工具來實現——把遠程windows上的共享文件掛載到本地目錄

  二、操作系統版本:

  1.windows機器—— windowsxp sp2

  2.linux機器—— Fedora8

  三、samba配置

  假設我們已經安裝好了samba軟件包。沒有可以下載rpm包安裝或者通過yum安裝。samba配置關鍵就是對/etc/samba/smb.conf的編輯配置,還需要對/etc/samba/lmhost做配置。

  samba配置根據安全方式,我們只配置兩種;

  share方式——匿名方式,不需要用戶名和密碼就可以訪問共享資源

  user方式—— 訪問需要用戶名和密碼

  1、share方式

  這種方式比較簡單,不過不安全,網絡上所有人都可以訪問。

  1)配置/etc/samba/lmhosts

  內容:ip netbios

  2)配置文檔:/etc/samba/smb.conf:

  [global]

  netbios=sambaserver #這個用了表示samba主機,和主機名不一樣

  security=share #指定這個訪問方式

  server string= samba server #對主機的描述

  workgroup = workgroup # windows主機的所在工作組

  #要share出來的文件

  [test] #這個可以隨便寫

  path=/test1

  browseable=yes #能否在浏覽器裡面訪問。可否http訪問

  writable=yes #是否可寫

  guest ok=yes # 客戶訪問

 2、user方式

  1)配置lmhosts,同share方式

  2)添加samba用戶

  這個samba用戶指的是,用於登錄samba主機的用戶,這個是在samba主機上設定。

  注意:這個samba用戶首先必須是linux系統用戶,這個很好理解,你只有是linux上的系統用戶,你才能夠登錄linux主機,而對samba服務的訪問,實際上也是對linux主機的訪問。

  a、首先,要添加一個linux系統用戶,根用戶是root,可以使用根用戶,也可以添加新用戶。我添加新用戶dudu

  b、添加samba用戶。

  執行命令:smbpasswd -a dudu # 然後輸入密碼,這個密碼是用來登錄samba的。

  c、配置smb.conf:

  #主機方面的一些參數

  [global]

  #主機名稱相關的參數

  workgroup = WORKGROUP

  netbios name = ergo_haier

  server string = ergo's haier notebook

  #登錄日志

  log file = /var/log/samba/%m.log

  max log size = 50

  #采取那種安全認證方式

  security = user

  #給密碼加密

  encrypt passwords = yes

  smb passwd file = /etc/samba/smbpasswd

  #samba所有用戶信息

  username map = /etc/samba/smbusers

  #定義那些機器可以訪問,或者那些可以拒絕

  hosts allow = 10.153.11.xx

  #以上可以是網段,10.153.11. 這個代表10.153.11.0-255網段。

  #也可以是多個網段

  #以下是你想要共享的目錄設置

  [haierdoc]

  comment = Haier doc

  path = /doc

  browseable = yes

  writable = yes

  valid users = dudu

  d、檢查配置

  可以使用命令:testparm

  執行後,回車,會列出你所有的配置,方便觀察。

  配置完成後,重啟/etc/init.d/smb restart

  四、linux和windows互相訪問

  1.windows訪問linux

  這個比較簡單,通過網上鄰居就可以,和訪問workgroup中的一台主機是一樣的,不多做介紹

  2.linux訪問windows

  如果windows有共享目錄,那麼需要我們通過mount命令,將遠程主機上的共享目錄掛載到本地目錄:

  1)查看遠程主機共享目錄

  Smbclient -L 遠程主機IP -U windows_user_name #注意 -U 後面是windows用戶名

  輸入密碼,就會出現共享的目錄:

  [root@ErgoN samba]# smbclient -L 10.153.11.1xx -U xx

  Password:

  Domain=[92D68C913D67417] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

  Sharename Type Comment

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

  G (G) Disk

  centos5.1 Disk

  IPC$ IPC 遠程 IPC

  session request to 10.153.11.142 failed (Called name not present)

  session request to 10 failed (Called name not present)

  Domain=[92D68C913D67417] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

  Server Comment

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

  Workgroup Master

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

  2)掛載遠程資源

  mount.cifs //10.153.11.1xx/centos5.1 /mnt -o user=xxx

  NOTE:網上很多文章說用smbmount,其實這個命令在比較新的系統裡面已經沒有了,2.6內核以後應該都沒有了,使用上面的命令來代替。

  也可使用 mount -t cifs …… cifs協議包括了smbfs協議。現在也沒有單獨的smbfs選項了。

  可能出現問題

  1.如果出現中文亂碼,可能是掛載字符問題,可以選擇不同字符掛載選項

  2.如果出現不能寫入等問題,一般為權限問題。

copyright © 萬盛學電腦網 all rights reserved