很多时候,做嵌入式开发,都是在windows上安装虚拟,在虚拟机中安装Linux操作系统。这个时候,我们经常需要Linux操作系统下有一个目录能在windows下自由访问。要想实现这个功能我们只需要在linux下配置好samba服务。

samba服务主要完成的功能是完成目录共享。

打开谷歌或者百度搜索samba服务配置,铺天盖地的帖子,照着做,通过修改各种配置文件,最后的结果。。。

其实,有一种最简单的方法。下面以ubuntu 12.04为例。

1. 打开ubuntu文件管理的图形界面,随便找一个目录文件,右击,选择共享选项。

2. 这个时候,如果系统中没有安装samba服务,就会出现一个对话框,要求装一些软件,安装默认的操作步骤进行就可以 。

3. 装好之后,在终端上输入sudo  smbpasswd  -a  用户名

这里的用户名是在系统中已经注册的用户名,一般可以写当前登录的用户的名称。

4. 配置共享目录,准许用户读写目录。

注:以上是在桌面系统下,若是server下,因为没有桌面不可操作文件,可通过配置文件/etc/samba/smb.con实现上述目标,增加如下配置项:

[vmlinux]
path=/home/wang/vmlinux
writable=yes
browseable=yes
public=yes
guest ok=yes

其中vmlinux是共享文件路径名。参考:Linux设置文件夹共享

5. 开启smb服务

service smbd  start  或  /etc/init.d/smb restart

service smbd status  查询状态

6. windows下,window+R打开运行窗口,在运行窗口输入如下命令:\\ip地址 (当前安装有samba服务器的ip地址),即可打开samba 的共享目录。

7. 然后在winods下,右击我的电脑,选择映射网络驱动器

注:samba通过虚拟盘符方式访问,驱动器可随意选择。

文件夹:直接输入\\ip\vmlinux即可。

在文件夹的输入宽中输入:\\Linux系统的主机名\共享目录名称或者\\linux 系统的ip\共享目录名。

输入完之后,会出现一个对话框,输入刚刚通过smbpasswd命令添加的用户和密码即可。

过程问题解析

在做的的过程中,遇到一些特殊的问题如下:

1.右击文件夹,选择共享目录选项之后,下载软件包的时候提示"未知错误",解决如下

这个错误是由于软件包的依赖关系出了文件。

A. 执行sudo apt-get install samba

出现,软件包依赖错误

B.执行sudo apt-get remove  依赖的软件包

C.再次执行sudo apt-get install samba

安装则成功

2.右击文件夹,没有共享目录选项,解决如下

sudo apt-get install nautilus-share

安装完后,注销一下系统就有了。

samba实现文件共享的更多相关文章

  1. 配置 samba 实现文件共享

    用于实现文件共享 netstat -apn|grep smb 可以按到 smb服务,需要开启139 .445端口号 需要在防火墙添加如下规则vi /etc/sysconfig/iptables -A ...

  2. 【转】win7 虚拟机virtualbox中ubuntu12.04安装samba实现文件共享

    原文网址:http://blog.csdn.net/watkinsong/article/details/8878786 昨天心血来潮,又装了个虚拟机,然后安装了ubuntu12.04,为了实现在虚拟 ...

  3. 使用Samba实现文件共享

    1987年,微软公司和英特尔公司,共同制定了SMB(Server Messages Block 服务消息块)协议,指在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来 ...

  4. linux之使用samba实现文件共享

    早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序,NFS是一个能够将多台L ...

  5. Linux使用Samba实现文件共享

    Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择. [root@study ~]# yum install samba -y #安装samba服务 [root@study ...

  6. 《linux就该这么学》课堂笔记15 vsftpd文件传输、Samba/NFS文件共享

    1.为了能够在如此复杂多样的设备之间(Windows.Linux.UNIX.Mac等不同的操作系统)解决问题解决文件传输问题,文件传输协议(FTP)应运而生. FTP服务器是按照FTP协议在互联网上提 ...

  7. 使用Samba实现文件共享:Windows和Linux之间

    1.概述: 1987 年,微软公司和英特尔公司共同制定了 SMB(Server Messages Block,服务器消息 块)协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之 ...

  8. Ubuntu+Win7+Samba实现文件共享

    Samba是Ubuntu和Windows进行网络共享的工具,比如分享打印机,互相之间传输资料文件. 安装samba sudo apt-get install samba 查看samba是否安装成功 s ...

  9. 服务器搭建5 Samba实现文件共享

    Samba服务器工作原理 客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限, ...

  10. Linux下通过samba进行文件共享与挂载

    1.在共享服务端安装samba:# yum install samba samba-client.x86_64 samba-common -y 2.在共享服务端需要防火墙开通139.445端口: # ...

随机推荐

  1. 美团在Redis上踩过的一些坑-3.redis内存占用飙升(转载)

     一.现象:     redis-cluster某个分片内存飙升,明显比其他分片高很多,而且持续增长.并且主从的内存使用量并不一致.   二.分析可能原因:  1.  redis-cluster的bu ...

  2. linux+iptables搭建网关服务器

    公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点. 额 ...

  3. Solr6 +mmseg4j+IK-Analyzer + SQLserver +DIH 完全配置

    如今做任何一个系统都有搜索,而搜索界有著名的三剑客: solr/elasticsearch/sphinx solr/elasticsearch 为同一类的,都是基于lucene开发的产品,本人也早在几 ...

  4. Unix高级环境编程,编译时的err_sys和err_quit错误

    err_sys以及err_quit等函数不是C语言自带函数,是作者自己编写的函数.所以,想要运行书中的源代码,就必须自建一个头文件my_err.h把作者的代码拷贝进去,然后在程序中加载. #inclu ...

  5. P2P通信标准协议(二)之TURN

    上一篇P2P通信标准协议(一)介绍了在NAT上进行端口绑定的通用规则,应用程序可以根据这个协议来设计网络以外的通信. 但是,STUN/RFC5389协议里能处理的也只有市面上大多数的Cone NAT( ...

  6. JS面向对象之原型

    面向对象之原型 为什么要使用原型 由于 js 是解释执行的语言, 那么在代码中出现的函数与对象, 如果重复执行, 那么会创建多个副本, 消耗更多的内存, 从而降低性能 传统构造函数的问题 functi ...

  7. SQL Server 基础 之 CASE 子句

    SELECT TOP 10 SalesOrderID, SalesOrderID % 10 AS 'Last Digit',-- 求最后一位的值 Position = CASE SalesOrderI ...

  8. 简单工厂模式 SimpleFactory

     简单工厂模式 SimpleFactory 1.1什么是简单工厂设计模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模 ...

  9. Spark Streaming揭秘 Day1-三大谜团

    Spark Streaming揭秘 Day1 三大谜团 引子 在Spark的众多组件中,Streaming最接近企业级应用程序,学习Spark Streaming,是掌握大数据技术的一条捷径.今天是第 ...

  10. ThreadLocal的实现原理(读书笔记)

    ThreadLocal的set方法和get方法,从set方法开始: public void set(T value) { Thread t = Thread.currentThread();//获取当 ...