關於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.如果出現不能寫入等問題,一般為權限問題。