歡迎您光臨本站 註冊首頁

linux與windows通過samba互相訪問共享資源

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

原創:雨中的文森特

關於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配置根據安全方式,我們只配置兩種;

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

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

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 # 客戶訪問

user方式
1.配置lmhosts,同share方式

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

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

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

2)添加samba用戶。

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

3.配置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

4. 檢查配置
可以使用命令: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.如果出現不能寫入等問題,一般為許可權問題。

[火星人 ] linux與windows通過samba互相訪問共享資源已經有359次圍觀

http://coctec.com/docs/linux/show-post-201396.html