博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?
阅读量:4608 次
发布时间:2019-06-09

本文共 3801 字,大约阅读时间需要 12 分钟。

一、为什么要这么做?

最近在做下的软件开发,但又想使用Windows下的编程工具“Source Insight”。

亲测有效。  要注意查看smb.conf.example,centos7的smb.conf有时是精简版。

二、安装环境

本机系统:Windows 7 旗舰版

VMware:VMware Workstation 9.0

CentOS:CentOS 6.4

网络适配器设置为:NAT 转换

三、查看是否已经安装“samba”

命令:rpm -qa|grep samba

输出结果:

samba-client-3.0.33-3.28-1.el5

samba-common-3.0.33-3.28-1.el5

 

这里顺便说一下搭建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

1、通过网络安装

本人就是用的网络安装,虽然有点慢,但是比较简单方便。

命令:sudo yum install samba

就一条命令就OK了。

2、通过光盘安装

仅供参考,本人没有过。

先把iso镜像挂载上,一般情况下光驱的设备标识为/dev/hdc

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

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

[root@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

...

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

error: Failed dependencies:

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

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

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

/mnt/temp/Server/

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

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

[root@sycflash ~]#service smb status

smbd is stopped

nmbd is stopped

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

五、配置 Samba

 

先在/home目录mkdir 目录 samba	修改 samba 权限 	chmod 0777 /home/samba
如果需要共享的目录已经存在 了,那么只修改目录的访问权限就可以了。

 

命令:sudo vi /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命令保存退出
下面给出我的配置文件内容,只贴出关键部分:
[plain]
 
  1. workgroup = WORKGROUP  
  2. server string = Samba Server Version %v  
  3. netbios name = CentOS  
  4. create mask = 0777  
  5. directory mask = 0777  
[plain]
 
  1. security = user  
  2. passdb backend = tdbsam  
要在“passdb backend = tdbsam”注释掉。
刚接触Linux,原来配置文件中的分号也是注释符。
[plain]
 
  1. [public]  
  2.         comment = public file  
  3.         path = /home/dev  
  4.         valid users=@root  
  5.         writable=yes  
  6.         browseable=yes  
  7.         public = yes  
  8.         admin users = root  
  9.         create mask = 0664  
  10.         direcotry mask = 0775  
重启smb服务service smb restart添加samba用户,将root用户增加为samba用户smbpasswd -a root会提示输入两次密码,这个密码就是访问samba的密码

六、在Windows下映射网络驱动器

先看看能不能访问:
在windows系统中通过IP地址或刚才定义的网络计算机名访问就可以在地址栏输入\\192.168.x.x或\\CentOSServer
如果共享文件夹可以访问,打开Windows资源管理器,添加映射就可以了。

七、常见问题

1、无法访问远程主机
先停止防火墙看看		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 通。

 

 

转载于:https://www.cnblogs.com/wicub/p/6270038.html

你可能感兴趣的文章
C语言学习笔记--字符串
查看>>
CSS-上下文选择器
查看>>
ionic repeat 重复最后一个时要执行某个函数
查看>>
1.初识代码审计-基础
查看>>
[Vue-rx] Stream an API using RxJS into a Vue.js Template
查看>>
解决VC几个编译问题的方法——好用
查看>>
SPOJ #11 Factorial
查看>>
City Upgrades
查看>>
“人少也能办大事”---K2 BPM老客户交流会
查看>>
关于七牛进行图片添加文字水印操作小计
查看>>
DataSource数据库的使用
查看>>
CentOS开启samba实现文件共享
查看>>
MSSQL使用sqlbulkcopy批量插入数据
查看>>
证明一个数能被3整除,当且仅当它的各位数的和能被3整除
查看>>
2018秋寒假作业4—PTA编程总结1
查看>>
android自适应屏幕
查看>>
2019-北航面向对象-电梯作业总结
查看>>
SqlHelper
查看>>
初识算法、数据结构
查看>>
Luogu4069 SDOI2016 游戏 树链剖分、李超线段树
查看>>