一、为什么要这么做?

最近在做Linux下的软件开发,但又想使用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 伺服器

可以通过光盘或网络安装 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命令保存退出
	下面给出我的配置文件内容,只贴出关键部分:
  1. workgroup = WORKGROUP
  2. server string = Samba Server Version %v
  3. netbios name = CentOS
  4. create mask = 0777
  5. directory mask = 0777
  1. security = user
  2. passdb backend = tdbsam
要在“passdb backend = tdbsam”注释掉。
刚接触Linux,原来配置文件中的分号也是注释符。
  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 通。

链接

CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?的更多相关文章

  1. [转]CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器? 转自这里 一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insi ...

  2. VirtualBox 虚拟机怎样设置共享文件夹

    首次在VirtualBox装完系统后,很经常用到的操作就是:想将主机的东西拉倒虚拟机进行使用或安装,那怎么将主机的文件拿到虚拟机呢? 1.在虚拟机 > 设置中选择 >安装增强功能,经过这个 ...

  3. 在VMWare的虚拟机中设置共享文件夹(Linux-Ubuntu系统)

    1.点击菜单中的虚拟机---设置---选项---共享文件夹,选择总是开启: 2.添加主机共享的文件夹: 3.安装vmware tools: (1)打开虚拟机---安装vmware tools: (2) ...

  4. win7与vbox虚拟机Ubuntu设置共享文件夹

    1.进入Ubuntu系统,在右上角打开设备->安装增强功能->运行->输入密码 2.在终端中安装,安装完后重新启动Ubuntu 3.在本机中设置一个共享文件夹(文件名是vbox-sh ...

  5. VirtualBox虚拟机Ubuntu设置共享文件夹,并自动挂载

    一.环境 Win10系统,VirtualBox-5.1.22-115126+Ubuntu16.04(64位)虚拟机   二.目的 在Ubuntu中能够共享Win10中的某个文件夹,而且能够自动挂载   ...

  6. win8访问win7中的共享文件夹 映射网络驱动器

    同一个局域网内,配置好了一台win7(假设计算机名为A)的共享文件夹,设置方法可以参考http://www.doudouxitong.com/guzhang/xitongjiqiao/2014/082 ...

  7. windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案

    为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...

  8. CentOS更新VMware Tools及设置共享文件夹

    CentOS设置共享文件夹 设置共享文件夹 点击虚拟机->设置 2. 打开虚拟机设置->选项->共享文件夹->总是启用->添加 3. 点击下一步创建主机路径并命名 4. ...

  9. VirtualBox CentOS安装增强功能与设置共享文件夹

    如果安装的是CentOS minimal版无网络的可以看这篇文章. 一.安装依赖环境 依次执行如下命令 yum install update yum install kernel-headers yu ...

随机推荐

  1. js-ES6学习笔记-for...of循环

    1.一个数据结构只要部署了Symbol.iterator属性,就被视为具有iterator接口,就可以用for...of循环遍历它的成员.也就是说,for...of循环内部调用的是数据结构的Symbo ...

  2. 一台电脑配置多个tomcat过程

    方法1:https://jingyan.baidu.com/article/76a7e409edbb4dfc3b6e1516.html 方法2:https://www.cnblogs.com/yiyi ...

  3. 转 [PHP] - 性能加速 - 开启Opcache

    原文地址:[PHP] - 性能加速 - 开启Opcache PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升  一.开启Opc ...

  4. 借助form表单向web服务器发送消息

    form表单是常用的,在网页浏览器中 用户点击的请求经htto协议发送回web容器,请求处理 建立用户的页面 <!DOCTYPE html> <html> <head&g ...

  5. 怎么给SharePoint得视图设置多个过滤条件? How to set multiple complex filter conditions to the SharePoint list view ?

    平时会很容易遇到需要给视图设置复杂得过滤条件,如果是一两个条件还好多,如果条件超过四个,会比较麻烦,很容易会出现逻辑不清,或者没有按照你得意愿来过滤数据得问题. 解决方案: 设置计算列,calcula ...

  6. mvp在flutter中的应用

    mvp模式的优点mvp模式将视图.业务逻辑.数据模型隔离,使用mvp模式,能使复杂的业务逻辑变得更加清晰,使代码更具有灵活性和扩展性,正是这些优点,使mvp模式广泛应用于原生开发中. flutter使 ...

  7. Flutter 网络请求库http

    http 集成http库 https://pub.dartlang.org/packages/http 添加依赖 dependencies: http: ^ 安装 flutter packages g ...

  8. 【Redis】Redis学习(五) Redis cluster模式详解

    一般情况下,使用主从模式加Sentinal监控就可以满足基本需求了,但是当数据量过大一个主机放不下的时候,就需要对数据进行分区,将key按照一定的规则进行计算,并将key对应的value分配到指定的R ...

  9. LeetCode题解之Contains Duplicate II

    1.题目描述 2.题目分析 使用哈希表 和分情况讨论的方法 3.代码 bool containsNearbyDuplicate(vector<int>& nums, int k) ...

  10. JSP 过滤器

    JSP教程 - JSP过滤器 JSP过滤器是可用于拦截来自客户端的请求或处理来自服务器的响应的Java类. 过滤器可用于执行验证,加密,日志记录,审核. 我们可以将过滤器映射到应用程序部署描述符文件w ...