很多时候,做嵌入式开发,都是在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. 网络编程-tcp

    一.简单的demo (1)客户端 package com.songyan.tcp; import java.io.IOException; import java.io.InputStream; im ...

  2. webservice_客户端生成工具

    1. axis java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -p com.qunar.flight.flagship.provide ...

  3. 关于MYsql 多字段排序

    SELECT switch_data.* , lan_data.ename FROM switch_data , lan_data WHERE switch_data.address = '佳合丽景' ...

  4. Kubernetes ServiceAccount的配置

    开始配置Kubernetes集群的时候为了少出问题,都是在apiserver配置中去掉ServiceAccount采用非安全连接的方式,但在后面配置FEK日志的过程中,很多时候绕不开这个安全机制,但因 ...

  5. Java连接MySQL数据库,并进行增删改查

    1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...

  6. javascript 的事件绑定和取消事件

    研究fabricjs中发现,它提供canvas.on('mousemove', hh) 来绑定事件, 提供 canvas.off()来取消绑定事件这样的接口,很是方便, 那我们就不妨探究一下内在的实现 ...

  7. [TypeScript] Export public types from your library

    If you're a library author, it's useful to expose your public types as interfaces, to allow your con ...

  8. 配置git账号和密码

    最开始启动的时候 配置用户名和用户邮箱,安装完git第一件要做的事情! git config --global uesr.name "Sunnshino" git config - ...

  9. 使用UnityVS1.8.2搭配VS2013进行Unity3D代码调试(下载+安装+使用+问题解决)

    http://blog.dou.li/UnityVS1_8_2-VS2013.html 备整合UnityVS1.8.2和VS2013调试Unity3D代码,安装后会有些问题无法调试,详情继续往下看. ...

  10. lodash forIn forOwn 遍历对象属性

    _.forIn(object, [iteratee=_.identity]) 使用 iteratee 遍历对象的自身和继承的可枚举属性. function Foo() { this.a = 1; th ...