设为首页 收藏本站
查看: 938|回复: 0

[经验分享] CentOS虚拟机安装SAMBA服务器 实现与Windows宿主机文件共享

[复制链接]

尚未签到

发表于 2016-5-13 10:05:01 | 显示全部楼层 |阅读模式
一、安装环境
  本机系统:Windows 7 旗舰版
  VMware:VMware Workstation 9.0
  CentOS:CentOS 5.10
  网络适配器设置为:NAT 转换

二、查看是否已经安装“samba”
  命令:rpm -qa|grep samba
  输出结果:

  

这里顺便说一下搭建samba服务器所需要的基本软件包:

1. samba——>这个软件包包含了主要的daemon文件(smbd和nmbd)

2. samba-common——>提供samba的主要配置文件(smb.conf)、smb.conf语法检测程序(testparm)等


3. samba-client——> 当linux作为samba 客户端的时候,提供了一套所需的工具和指令。


这下看出来了吧,samba主程序根本没有被安装

也可以使用“service smb status”命令查看是否已经安装,执行该命令如果返回“smb:unrecognized service”,说明服务没有安装。

三、安装“samba”
  Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
  这里只介绍本人的安装过程,
  详细请参考“
鳥哥的
Linux
私房菜
”之“第十六章、檔案伺服器之二:SAMBA伺服器”
  可以通过光盘或网络安装 samba
  1、通过网络安装
  本人就是用的网络安装,虽然有点慢,但是比较简单方便。
  命令:sudo yum install samba
  就一条命令就OK了。
  2、通过光盘安装
  仅供参考,本人没有测试过。
  先把iso镜像挂载上,一般情况下光驱的设备标识为/dev/hdc,

[iyunv@sycflash ~]# mkdir /mnt/temp


[iyunv@sycflash ~]#mount /dev/hdc /mnt/temp

[iyunv@sycflash ~]#ll /mnt/temp/Server | grep samba


samba-3.0.33-3.28-1.el5.i386.rpm

samba-common-3.0.33-3.28-1.el5.i386.rpm

samba-client-3.0.33-3.28-1.el5.i386.rpm

...

[iyunv@sycflash ~]#rpm -ivh/mnt/temp/Server/samba-3.0.33-3.28-1.el5.i386.rpm


error: Failed dependencies:

perl(Convert::ASN1) is needed bysamba-3.0.33-3.28-1.el5.i386

又报错了,原来是缺少所依赖的perl ASN1包。

解决方法:安装perl-Convert-ASN1-0.20-1.1.noarch.rpm

/mnt/temp/Server/

[iyunv@sycflash ~]#rpm -ivh/mnt/temp/Server/samba-3.0.33-3.28-1.el5.i386.rpm

这时samba就能正常安装了。check一下成果:

[iyunv@sycflash ~]#service smb status

smbd is stopped

nmbd is stopped


这时已经没有smb:unrecognized service 这样的提示了。

四、配置 Samba

<pre id="answer-content-1057139146" class="answer-text mb-10" name="code" style="margin-top: 0px; margin-bottom: 10px; word-wrap: break-word; padding: 0px;">先在/home目录mkdir 目录 samba
修改 samba 权限
chmod 0777 /home/samba
如果需要共享的目录已经存在 了,那么只修改目录的访问权限就可以了。
  

命令:sudovi /etc/samba/smb.conf



修改几次地方:
找到以下几行把注释去掉
setsebool -P samba_domain_controller on
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_rw on
修改  workgroup = MYGROUP 为 MYGROUP  工作组为你windows 的工作组,一般为WORKGROUP
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = CentOSServer #网络计算机名,可以通过它访问共享文件如:\\CentOSServer
跟着添加这两行
create mask = 0777
directory mask = 0777
然后在文件最后添加这几行
[public]
comment = public file
path = /home/samba #刚才mkdir的文件夹
valid users = root
writable = yes
browseable = yes
:wq命令保存退出
下面给出我的配置文件内容,只贴出关键部分:





<pre name="code" class="plain">        workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = CentOS
create mask = 0777
directory mask = 0777

<pre name="code" class="plain" style="font-family: arial, 'courier new', courier, 宋体, monospace; font-size: 14px; line-height: 24px; white-space: pre-wrap; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);">        security = user
#       passdb backend = tdbsam

要在“passdb backend = tdbsam”注释掉。

<span style="color:#cc0000;">有人写到可以吧sercurity设置成share则所有人可以访问,我试过了不可以,不晓得是不是因为自己电脑的缘故。</span><span style="color:#333333;">
</span>
刚接触Linux,原来配置文件中的分号也是注释符。
[public]
comment = public file
path = /home/dev
valid users=@root
writable=yes
browseable=yes
public = yes
admin users = root
create mask = 0664
direcotry mask = 0775

重启smb服务
service smb restart
添加samba用户,将root用户增加为samba用户
smbpasswd -a root
会提示输入两次密码,这个密码就是访问samba的密码
  

六 在Windows下映射网络驱动器




<pre id="answer-content-1057139146" class="answer-text mb-10" name="code" style="word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px;">先看看能不能访问:
在windows系统中通过IP地址或刚才定义的网络计算机名访问就可以
在地址栏输入
\\192.168.x.x

\\CentOSServer如果共享文件夹可以访问,打开Windows资源管理器,添加映射就可以了。

  
  七常见问题

</pre><pre code_snippet_id="434480" snippet_file_name="blog_20140724_14_7349747" id="answer-content-1057139146" class="answer-text mb-10" name="code" style="word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px;">无法访问远程主机
先停止防火墙看看
service iptables stop

2、共享目录无法访问
1)关闭防火墙:
#sevice iptables stop
2)修改/etc/samba/smb.conf,具体配置网上有,我的如下:
security = share---- 这个要用上,share表示安全最低级别,其次是user,最高是server
[共享目录名]
path = /home/用户名/共享目录名
read only = no-----这个需要在前面用分号注释掉
writeable = yes
browseable = yes
public = yes
guest ok = yes
3)SELinux作怪
修改/etc/sysconfig/selinux把enforcing改成disabled;然后命令行setenforce 0;
或者用Rainsome兄说的 使用selinux强制策略:chcon -R -t samba_share_t /home/suyang/"Fedora Samba"
4)修改目录权限 #chmod 777 /home/wind ; #chmod 777 /home/wind/smbShare; 特别是前面一个做为上层目录权限也需要修改!!!
5)重启samba服务
#service smb restart
或者
/etc/rc.d/init.d/smb restart
当然你要在linux与windows之间互相能ping 通。

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-216391-1-1.html 上篇帖子: centos的用户、组权限、添加删除用户等操作的详细操作命令 下篇帖子: 基于system Center 2012–VMM(virtral machine manager)在线扩容Centos硬盘。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表