Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。
Samba的服务器程序可以实现以下主要功能:
◆ 文件及打印共享;
◆ 计算机名与IP的解悉;
◆ WINS服务的支持;
◆ 用户权限设置(如果配合Linux 的Quota还可以实现用户磁盘空间配额)。
下面介绍Samba服务器的安装与配置
1.环境介绍(不同的环境配置方法不一样,我知道的在Ubuntu15后的版本都能配置连接成功)
Ubuntu:15.10
VMware:12.1.0 build-3272444
Windows:win7 旗舰版
2.环境监测
环境是Samba服务器与Windows能否连通的先决条件,接下来判断环境的可行性,可行性的标准就是看两个系统能否ping成功。
A.关闭两个系统的防火墙:
(1)windows关闭防火墙的方法:
桌面右下角点击网络图标 -->打开网络和共享中心 -->左下角Windows防火墙 -->打开或关闭windows防火墙 --> 关闭 -->确定
(2)Ubuntu上关闭防火墙执行指令:
sudo ufw disable
B.查询两个系统的ip地址
(1)Windows下在终端输入指令:ipconfig,查看VMnet8的IP地址
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\waobot11>ipconfig
Windows IP 配置
以太网适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::4825:7747:3eee:8e53%11
IPv4 地址 . . . . . . . . . . . . : 192.168.0.18
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
以太网适配器 VMware Network Adapter VMnet1:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::dd47:bea7:d696:db00%17
IPv4 地址 . . . . . . . . . . . . : 192.168.230.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
以太网适配器 VMware Network Adapter VMnet8:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::4cc8:d9e2:b2:5996%18
IPv4 地址 . . . . . . . . . . . . : <span style="color:#FF0000;">192.168.149.1</span>
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
隧道适配器 isatap.{08F0FB50-4191-4979-AA51-BBBE6B8D3E98}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
隧道适配器 isatap.{5A56AF59-11CE-48C4-A435-90F7DAFD9217}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
隧道适配器 isatap.{07929FEF-122F-4F27-9A21-2A8B20C06378}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
(2)Ubuntu下在终端输入指令:ifconfig,查看IP地址
$ ifconfig
eno16777736 Link encap:Ethernet HWaddr 00:0c:29:35:66:40
inet addr:<span style="color:#FF0000;">192.168.149.128</span> Bcast:192.168.149.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe35:6640/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7951 errors:0 dropped:0 overruns:0 frame:0
TX packets:2018 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11545998 (11.5 MB) TX bytes:139862 (139.8 KB)
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:235 errors:0 dropped:0 overruns:0 frame:0
TX packets:235 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21546 (21.5 KB) TX bytes:21546 (21.5 KB)
C.两个系统相互ping
(1)Windows下在终端输入指令:ping Ubuntu IP地址,回车,如果ping成功如下图所示
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\waobot11>ping 192.168.149.128
正在 Ping 192.168.149.128 具有 32 字节的数据:
来自 192.168.149.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.149.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.149.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.149.128 的回复: 字节=32 时间<1ms TTL=64
192.168.149.128 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms<span style="font-size:24px;"><span style="color:#FF6666;"></span></span>
(2)Ubuntu下在终端输入指令:ping VMnet8 IP地址,回车,如果ping成功如下图所示
$ ping 192.168.149.1
PING 192.168.149.1 (192.168.149.1) 56(84) bytes of data.
64 bytes from 192.168.149.1: icmp_seq=1 ttl=128 time=0.222 ms
64 bytes from 192.168.149.1: icmp_seq=2 ttl=128 time=0.326 ms
64 bytes from 192.168.149.1: icmp_seq=3 ttl=128 time=0.361 ms
64 bytes from 192.168.149.1: icmp_seq=4 ttl=128 time=0.350 ms
64 bytes from 192.168.149.1: icmp_seq=5 ttl=128 time=0.327 ms
64 bytes from 192.168.149.1: icmp_seq=6 ttl=128 time=0.349 ms
64 bytes from 192.168.149.1: icmp_seq=7 ttl=128 time=0.368 ms
64 bytes from 192.168.149.1: icmp_seq=8 ttl=128 time=0.361 ms
64 bytes from 192.168.149.1: icmp_seq=9 ttl=128 time=0.349 ms
64 bytes from 192.168.149.1: icmp_seq=10 ttl=128 time=0.540 ms
64 bytes from 192.168.149.1: icmp_seq=11 ttl=128 time=0.240 ms
64 bytes from 192.168.149.1: icmp_seq=12 ttl=128 time=0.344 ms
64 bytes from 192.168.149.1: icmp_seq=13 ttl=128 time=0.348 ms
64 bytes from 192.168.149.1: icmp_seq=14 ttl=128 time=0.351 ms
64 bytes from 192.168.149.1: icmp_seq=15 ttl=128 time=0.340 ms
^C
--- 192.168.149.1 ping statistics ---
15 packets transmitted, 15 received, 0% packet loss, time 14000ms
rtt min/avg/max/mdev = 0.222/0.345/0.540/0.066 ms
两个系统ping成功了进行下一步
/* BEGIN:此处插播一条广告 */
为方便大家进行环境配置,在此处我编写一个脚本,set_samba_server.sh用于一键配置samba服务器环境
只要在ubuntu中执行bash set_samba_server.sh就OK了
获取方式:https://github.com/Grand2015/set_samba_server
/* END:此处插播一条广告 */
3.Samba服务器安装
在Ubuntu环境下执行指令:
sudo apt-get install samba
sudo apt-get install cifs-utils
sudo apt-get install smbclient
4.赋共享目录权限
共享目录可以用现成的也可以自己创建,我就用现成的了,我的目录是 /home/myname
myname是我的Ubuntu的名字
如果自己创建路径可以使用指令
sudo mkdir /home/myname/share
下面对路径赋权限,不然访问时问题是权限不够
权限指令:
sudo chmod 777 /home/myname
5.配置Samba服务器
配置文件之前,先将文件备份,(我现在没有用的,估计以后会用吧),执行指令:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
后面打开配置文件,只用vim或者gedit打开都行
在最后添加代码:
[share]
path = /home/myname
available = yes
browseable = yes
public = yes
writable = yes
[share]是共享的名称随便取,path后面是共享的路径,就是前面设置权限的路径
6.添加Samba账户
可以添加新用户,也可以直接使用原来的用户名(我直接使用本地用户名),如需添加执行以下指令:
sudo useradd myname
用户名添加以后,需设置密码,两个系统连接时使用(好像有不需要密码的方法,我不知道,大家可以考证一下)
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a myname
后面会提示你输入两边密码
现在要新增网络使用者的帐号:
sudo vim /etc/samba/smbusers
在新建立的文件内加入下面这一行并保存代码:
myname = “networkusername”
如果没有创建Samba账户这一步,当你登录时会提示session setup failed: NT_STATUS_LOGON_FAILURE
删除网络使用者的帐号的命令把上面的 -a 改成 -x 即:
sudo smbpasswd -x myname
7.重启服务器
执行指令
sudo /etc/init.d/samba restart
8.测试
执行指令
smbclient -L //localhost/share
或者
smbclient -L \\127.0.0.1 -U myname
这时输入的密码就是你刚才设置的samba密码
$ smbclient -L \\127.0.0.1 -U waobot
WARNING: The "syslog" option is deprecated
Enter waobot's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
share Disk
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]
Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)
Workgroup Master
--------- -------
WORKGROUP
9.使用
在windows下的运行中输入 "\\" + "Ubuntu机器的ip或主机名"
以后如果时常用的话,可以再我的电脑的文件夹,点击映射网络驱动器,添加IP地址,使得链接到的虚拟机像一块硬盘一样在Win系统中显示
安装这个方法还是不行的话,请留言给我