由于要完成文件Win7 与VMware虚拟机(Fedora 16)之间的文件共享,所以需要进行samba服务的配置。具体过程如下:
1.下载并安装Samba服务
root下执行命令:yum install samba
2.建立共享文件夹
我建立的共享目录为:/home/ruby/share 和/home/ruby/unix
执行命令:
mkdir /home/ruby/share
mkdir /home/ruby/unix
3.修改共享文件夹的权限
chmod 777 /home/ruby/share
chomd 777 /home/ruby/unix
(此时:默认的命令行下键入 ls,可以看到 share unix两个文件夹变成绿色)
4.禁用selinux
vim /etc/selinux/config
把SELINUX=enforcing改成SELINUX=disable
5.配置smb.conf ( /etc/samba/smb.conf)
5.1首先找到 workgroup字段,把其值改为 WORKGROUP (因为windows上的工作组名称默认是 WORKGROUP)
5.2找到 NetBIOS name 字段,给自己的虚拟机取一个名字
5.3在该文件末尾添加自定义的共享目录信息.对我而言,我建立了两个共享目录。我的设置为:
[share]
path=/home/ruby/share
writable=yes
public=yes
[unix]
path=/home/ruby/share
writable=yes
public=yes
保存退出
6.开启samba的两个daemon服务 分别为:smb.service nmb.service
它们的作用分别是:
smb主要负责管理samba主机分享什么目录,档案与打印机等等的内容
nmb主要负责管理群组,NetBIOS name 的解析等等
在服务管理上,fedora16推出了新的管理程序,即 systemctl,具体可以查看手册.
执行指令:
systemctl start smb.service
systemctl start nmb.service
测试一下 samba 能否打开,如果没有错误提示则证明可以开启。
可以通过指令 systemctl is-enabled smb.service nmb.service 来查看两个服务是否已经开启成功
执行下面的代码,可以让上述两个服务开机自动启动
systemctl enable smb.service nmb.service
7.添加samba用户,并设置密码
注意:这里添加的用户必须是linux系统的用户之一,我的用户名是ruby
执行指令:
smbpasswd -a ruby
然后设置密码即可
8.关闭防火墙
执行指令:
iptables -F
9.重新启动linux虚拟机
reboot
10. Win7中,运行 secpol.msc
选择 本地策略->安全选项->网络安全:LAN 管理者身份验证级别
最后,单击列表,选择 发送LM和NTMv2,如果已协商,则使用NTLMv2协议
11. 在win7 网上邻居中可以找到对应 smb.conf中 Netbios name的计算机,完成
错误排查:
1.防火墙是否已经关闭,Selinux是否已经禁用
2.虚拟机的IP地址是否与WIN7的 VMware8那个虚拟网卡的IP在一个网段
3.必要的时候重新启动服务 systemctl restart smb.service nmb.service
4.如果提示一个用户名只能登录一次的错误:在Win7 命令行中执行指令: net use * /del /y