1 介绍

如今是网络化的时代,我们每一个人要更好的发展。离不开网络化、信息化的支持。利用网络的支持。在不同的操作系统间共享文件等信息,是计算机专业学生必备的一项技能。

本文所讲的就是怎样建立、设置、链接Sambaserver,使得处在网络中的两台电脑,一台装的是Ubuntu操作系统,一台装的是Win7,通过共享目录的形式来共享信息。这两台电脑在网络上处的位置和网络架构为图1所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUm9iZXJ0Q2hlbkd1YW5nemhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在图1的两台电脑实际上它们的物理位置都在我旁边,仅仅是因为物理RJ47port太少,就仅仅有让台式机连接到Rj47port上。而我的笔记本电脑则通过无线路由器连接到网络上。为了方便这两台电脑间的文件和信息交流。我就想通过共享目录的方式实现这个功能。

假设两台电脑都是windows系统的话好办。但如今一个是Ubuntu系统,一个Win7系统,怎么实现共享目录的功能呢?
在參照文献[1]的基础上。利用Sambaserver,我顺利实现了该功能。请看以下的具体介绍。

2 创建和配置一个Sambaserver

因为要实现网络上Ubuntu系统与Win7系统之间共享目录,而Sambaserver是一个在Ubuntu系统上支持与windows系统文件交互等功能的server,我们的思路自然就是:在台式机上创建一个Sambaserver,而Win7系统以client的方式訪问server上共享出来的目录。也就是Utuntu系统上的目录。Samba于1992年出现,它最初的目的就是方便Unix系统与Windows系统间共享文件,但又不限于此。也支持各种不同系统之间的交互共享文件,比如Ubuntu对Ubuntu。Mac OS对Mac OS等等。

2.1 安装Sambaserver

假设你使用的是Ubuntu Server distribution,它本身就会预装,你能够跳过此步骤。直接进入下一步骤。假设你使用的是普通的Ubuntu distribution,则它本身没有安装,须要你先安装Samba。你能够通过Ubuntu Software Center以图形化的方式来安装Samba,也能够以Terminal命令的方式来安装。以Terminal方式安装的命令例如以下:

    sudo apt-get install samba

    sudo apt-get install smbfs

2.2 确定一个在Ubuntu系统上要共享的目录

这个目录能够是一个事先存在的目录。假设你为了不让共享目录与你的其它目录混淆,最好新建一个单独的目录专门用作共享。用下面Terminal命令创建要共享的目录,并赋予其读写的权限:

      sudo mkdir /home/share

      sudo chmod 777 /home/share

2.3 编辑smb.conf文件

为了让网络上的其它电脑以client的方式訪问Sambaserver,你首要做的事情就是配置/etc/samba/smb.conf文件。该配置文件类似于Windows下的ini文件,方便管理人员配置server的相关信息。请更随下面步骤:

1.利用一个编辑器打开smb.conf文件。

因为该文件须要权限才干改动。不要利用直接点击的方式打开,最好使用命令sudo vim /etc/samba/smb.conf或者sudo gedit              /etc/samba/smb.conf的方式打开。

2.找到[global]以下的内容将workgroup = WORKGROUP前面的分号(;)去掉(分号打头的代表的是凝视),并在它的后面加入内容,终于变为

workgroup = WORKGROUP

          display charset = UTF-8

          unix charset = UTF-8

          dos charset = cp936

3.找到security = user这一行,将其前面的分号去掉,并在其后面加入内容,终于变为:

          security = user

          username map = /etc/samba/smbusers

4.将要共享的目录加入到Sambaserver上,并指定同意訪问的用户。通过下面来实现,在文件的末尾加入下面内容(当然,下面的内容你也能够通过图形化的Samba配置管       理器来设置。设置后,在本文件中会自己主动体现。

):

       [share] //windows系统下显示的要共享的名

       comment = test whether the method is good //凝视,你用于共享加入的凝视。能够提供共享的目的

       path = /home/share //前面步骤在Ubuntu系统上建立的用于共享的目录

       public = yes

       writeable = yes

       valid users = chgzhi //訪问Sambaserver的用户,但它必须又是一个Ubuntu用户,同一时候还必须一个单独的不同于登录Ubuntu系统的password当然你可让它们一致。

      create mask = 0700

      directory mask = 0700

      force user = nobody

      force group = nogroup

      available = yes

      browseable = yes

5. 保存并退出该文件的编辑过程。

2.4 定义Samba用户的訪问password

注意,仅仅要已经合法存在的Ubuntu系统的用户才干够作为Sambaserver的用户。如今假定你Ubuntu系统已经有一个用户chgzhi,这正是在上小节中我们设置的用户(valid users = chgzhi)。我们如今要做的是给改用户设置对应的password。假设是初次设置password採用下面命令:

sudo smbpasswd -achgzhi

  假设你早前一设置过此password,则去掉參数a。

2.5 又一次启动Sambaserver

因为刚刚又一次配置了server。此时我们最好又一次启动server。使用的命令例如以下:

                          sudo service smbd restart

3 关闭防火墙

由于Ubuntu系统处于server的地位,所以我们仅仅须要关闭Ubuntu系统的防火墙就可以,对于Win7系统的防火墙不须要关闭。命令例如以下:

                         sudo ufw disable

  至此,server端我们须要做的工作已经完成。接下来就是利用client连接共享的目录了。

4 client连接

4.1 smbclient客户端程序

这是一个Samba server程序自带的client命令行程序。它支持在另外一台Ubuntu系统已装Samba 的情况下的訪问。在此我们利用它測试刚建立的server是否成功。例如以下图2 所看到的。 我们这里仅仅是本机測试,并没有利用另外的一台电脑连接Sambaserver。图2中能够看出,我们连接成功,而且进入了client交互命令提示符(smb: \>),有各种各样的命令可供你使用,详细的请參看文献[1] 的第535页的表22-2。图中输入的password时你利用2.4节的方法设立的password。我已经在享受共享目录带来的便利,图2就是在台式机的buntu系统上截图而得,并通过共享目录同意Win7系统訪问,而本文的书写是在Win7
系统上进行的。

Figure 2 smbclient客户端程序演示样例

4.2 利用Win7系统以client的形式连接Sambaserver

在装有Win7系统的笔记本上来訪问Ubuntu 电脑上设置的共享目录,过程非常easy,不须要转不论什么的client程序。

1.点击MyComputer 出现图3。再点击图中的Map network drive,然后出现图4。

2.在图4中的folder 文本框中输入Ubuntu 机器的IP 地址和共享的目录名share。

点击finish 出现图5。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUm9iZXJ0Q2hlbkd1YW5nemhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

Figure 4 Win7连接示意

3.在图5中输入你的Samba帐户,也就是在2.4节建立的。点击Ok button。令人激动的时刻到了。连接成功,如图6。你能够自由自在的在两个不同的操作系统间共享文件了,       享受网络化带来的成果吧!

Figure 5 Win7 连接---输入Sambausername和password

Figure 6 在Win7 系统下连接的Samba server共享的目录share

5 总结

本文讲述的共享目录设置的方法。要求读者具有Ubuntu 使用的基本知识,特别是Terminal 下Bash Shell的使用。关于Ubuntu 系统基本用法的介绍,推荐书籍[1]。该书类似于大学新生入学针对Windows 系统的《计算机文化基础课程》。但更有用化。

我相信,本文介绍的方法不过一种方法而已,肯定存在更好的共享目录的方法。

假设哪位读者有更好的方法,请赐教。

References

[1] Richard Blum. Ubuntu Linux Secrets. Wiley, Indianapolis, IN, 2009.

利用Sambaserver在Ubuntu系统和Win7系统间共享目录的更多相关文章

  1. 更换jupyter notebook风格主题、修改默认工作路径(Ubuntu系统和Win系统)

    默认的风格对代码关键词的颜色提醒很不明显,而且白色背景长久使用非常刺眼,所以考虑更换主题. 在更换途中,发现代码输出行,前几个字符被遮挡显示不出来,找了很久才解决,备忘一些要点. 1:替换主题方法 h ...

  2. 扫盲--CRM系统和ERP系统的区别

    企业规模在逐步扩大的时候,为了提高生产和管理的效率,经常需要用到相关管理软件.很多企业管理者在选择管理软件的时候犯了难,面对CRM系统和ERP系统不知如何选择无法下手.那么,CRM和ERP的区别是什么 ...

  3. android系统和ios系统是如何实现推送的,ios为什么没有后台推送

    ios系统为什么没有后台推送? iOS 为了真正地为用户体验负责,不允许应用在后台活动.有了这个限制,但是对于终端设备,应用又是有必要“通知”到达用户的,随时与用户主动沟通起来的(典型的如聊天应用). ...

  4. VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录

    VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录 一.描述 系统描述:win7旗舰版64位系统+VMware Workst ...

  5. virtualBox下面安装linux系统如何共享目录

    背景: 系统是win+virtualBox 在虚拟机中安装了linuxMint系统. 如何共享目录呢 第一步: 在虚拟机中安装增强功能 2,在virtualBox中设置共享目录 3,在linux下创建 ...

  6. 六、利用frp穿透连接内网的linx系统和windows系统

    服务端的配置 # frps.ini [common] bind_port = 7000 说明:防火墙放行该端口 启动:./frps -c ./frps.ini 后台启动:nohup ./frps -c ...

  7. 对比Linux系统和Windows系统哪个更好

    最近半年来,我一直在读一本叫做<Linux就该这么学>的Linux教材,确实让我进步的很快,也慢慢的让Linux系统走入了我的知识认知中,那么学习前我们来对比下Windows和Linux的 ...

  8. ubuntu上安装win7系统(64位的)

    http://www.linuxidc.com/Linux/2012-11/74195.htm deb文件在ubuntu上直接用dpkg -i xxx.deb 如果虚拟机上只显示32位,则可能是cpu ...

  9. Ubuntu安装教程--Win7系统中含100M保留分区

    1.检查 Win7 保留分区 1)进入 Win7 打开库目录.在左側栏找到"计算机",瞄准点右键选择"管理"菜单: 2)在出来的管理面板左边找到"磁盘 ...

随机推荐

  1. Swift - 页控件(UIPageControl)的用法

    使用页控件可以用来展示多个桌面.比如很多应用第一次登陆时,会在开始页面使用页控件来介绍功能,通过左右滑动来切换页. 通常我们使用UIPageControl和UIScrollView相互结合来实现多页切 ...

  2. pc机进入android的shell

    一直都知道自己非常死板,刚刚再一次验证了.. 下载下来android开发必备的工具之后,就按部就班的一步步的来了.没想过这些工具有没有其它用处,更有甚者,在刚開始接触android的时候.居然不知道自 ...

  3. extern 使用方法具体解释

    在C语言中,修饰符extern用在变量或者函数的声明前,用来说明"此变量/函数是在别处定义的.要在此处引用".(extern能够置于变量或者函数前,以标示变量或者函数的定义在别的文 ...

  4. LeetCode——Populating Next Right Pointers in Each Node II

    Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...

  5. thinkphp3.2入口文件

    原文:thinkphp3.2入口文件 <?php define('DIR_SECURE_FILENAME', 'default.html');//错误页面 define('APP_PATH',' ...

  6. 小心LinkedHashMap的get()方法(转)

    这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应 ...

  7. java之jvm学习笔记十三(jvm基本结构)

    java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成 ...

  8. Python heapq 模块的实现 - A Geek's Page

    Python heapq 模块的实现 - A Geek's Page Python heapq 模块的实现

  9. linux下自助获取帮助

    几乎所有命令都可以用 -h 或者--help参数 获取命令的使用方法帮助 man ls   也可以获取ls命令的详细帮助信息 man -k XXX  可以查看包含关键字XXX的文档 还有一个更详细的命 ...

  10. csdn android视频播放器开发

    http://blog.csdn.net/column/details/myvideo.html