本文的场景是虚拟机执行CentOS6.5,本机是Win7。现欲把CentOS上的一个目录共享出来,Win的机器能够读写。
Samba与window连接须要使用NetBIOS协议,请确认你的Win7系统已经安装了NetBIOS协议。
组成Samba执行的有两个服务,一个是SMB,还有一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Sambaserver与Samba客户机之间的对话。 验证用户身份并提供对文件和打印系统的訪问,仅仅有SMB服务启动,才干实现文件的共享,监听139 TCPport;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB能够把Linux系统共享的工作组名称与其IP相应起来。假设NMB服务没有启动,就仅仅能通过IP来訪问共享文件,监听137和138 UDPport。
配置这些东西你须要先拥有root权限。
首先关闭防火墙:service iptables stop,当初我就由于忽略这个花了一定的时间。
另外关闭SELINUX的强制模式:setenforce 0。这个也不可忽略。假设setenforce 1,就好多共享都不成功了。
安装Samba:
yum install samba samba-client samba-swat
安装过程这里就不贴图了。
查看安装情况:
rpm -qa|grep samba
Sambaserver安装完成。会生成配置文件文件夹/etc/samba和其他一些samba可运行命令工具,/etc/samba/smb.conf是samba的核心配置文件。/etc/init.d/smb是samba的启动/关闭文件。
以下我们来配置Samba服务。有一些注意事项我会强调。请大家注意:
先定位到/etc/samba文件夹下,把smb.conf备份一下:cp smb.conf smb.conf.bak
如今我要把/share文件夹共享给我的win7机器,打开samba配置文件,
vi /etc/samba/smb.conf
用shift+g定位到最后一行,能够看到:
创建/share文件夹mkdir /share。而且设置chmod 777 /share——注:这样做有点危急,大家先达到共享这一步的效果,以后慢慢学习安全性的考虑。
好了,重新启动samba服务吧!
service smb restart和service nmb restart,假设不行能够使用/etc/init.d/smb restart和/etc/init.d/nmb restart
在win7的机器执行\192.168.1.114 (这是你虚拟机的ip) 就能看到samba共享的public目录(也就是相应的/share目录)——可读可写哦。
假设出现没有权限的问题。请再次确认下面几个重点:
1.关闭防火墙: service iptables stop (能够选择自己配置,很多其它装逼大法更新中)
2.设置SELinux的宽松模式:setenforce 0
3.设置你须要共享的目录的属性为777,chmod 777 /share
4.重新启动了smb和nmb服务。
登录samba
smbpasswd -a root #把root用户加入到samba用户数据库中
windows 执行。输入 \196.168.1.114 (记住这里应该写你的虚拟机ip)
结果例如以下:(上面点击确定后要求输入usernamepassword。即刚才增加的root用户,password是自己创的)
点进去后发现和虚拟机root用户家文件夹文件一致