作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591
服务端:ubuntu12.04
客户端:windows
目标:实现Ubuntu与windows之间通讯,经测试winXP和win7可用,win8未测试
1.安装samba服务软件
执行以下命令:
root@ubuntu:~# apt-get install samba
root@ubuntu:~# apt-get install smbfs
2.创建共享目录,并设置其读写权限
root@ubuntu:~# mkdir /home/now
root@ubuntu:~# chmod 777 /home/now#该目录对任何用户的权限都是可读、可写、可执行
3.修改samba服务的配置
root@ubuntu:~# vim /etc/samba/smb.conf
并在文件最后,添加共享目录:
[firmware]#这是我们给共享目录取的名字
path = /home/now#这是Linux要共享的目录
read only = no#客户端对共享目录下的文件有都写权限
locking = no
guest ok = yes
browseable = yes
create mask = 0777
directory mask = 0777
4.重新启动samba服务
root@ubuntu:~# /etc/init.d/smbd restart或者
root@ubuntu:~# service smbd restart执行结果:
smbd stop/waiting
smbd start/running, process 6819便是samba服务重新启动成功。
4.使用samba服务
查看服务端IP
root@ubuntu:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:d1:38:5b
inet addr:192.168.37.129 Bcast:192.168.37.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fed1:385b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7146 errors:0 dropped:0 overruns:0 frame:0
TX packets:3321 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4093394 (4.0 MB) TX bytes:610958 (610.9 KB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:186 errors:0 dropped:0 overruns:0 frame:0
TX packets:186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20194 (20.1 KB) TX bytes:20194 (20.1 KB)可以看到IP为:inet addr:192.168.37.129
在windows下,开始-->运行,输入服务端IP和共享的目录
\\10.109.37.129\firmware
回车即可看到Ubuntu12.04共享的目录,如图所示
windows或Ubuntu把要分享的文件或文件夹放进此目录,就可以被对方看到。
后记:在局域网内,必须在同一个子网下才能实现samba通讯,可以查看IP和子网掩码来判断是否在同一个子网下。
不经意间发现,F可以访问A,但是A不能访问F。
举个现实中的例子:不同子网下的主机之间不能用FTP传文件,因为它们不能识别对方的IP;但是它们 可以用QQ聊天,因为QQ服务器端充当了二者交流信息的媒介;而QQ服务器在公网上,可以将不同子网下的这两台主机所在的子网看成公网的子网。