windows与Ubuntu之间的samba服务器的搭建

来源:互联网 发布:局域网网络拓扑结构 编辑:程序博客网 时间:2024/04/28 07:02

   这两天在学习linux,但是用的却是windows系统,就需要用到数据共享,先使用的是在linux上挂载ISO文件,但后来发现搭建一个服务器可能更快,最终,经过一天的努力,终于搭起来一个samba服务器。现在往回看,其实好像结果很简单,但是中间出现的各种错误,真的是快疯了!还是总结一下。

   samba:用来实现SMBServer Message Block)协议的一种软件,它的工作原理是让NetBIOS (Network Basic Input/Output System)和SMB这两个协议运行于TCP/IP协议之上,并且使用Windows的NetBEUI(Net BIOS Enhanced User Interface)协议,让类UNIX主机可以在网络邻居上被Windows主机看到。它的功能有:a. 实现Linux主机之间和Linux主机与Windows主机之间的文件共享; b. 实现Linux主机之间和Linux主机与Windows主机之间的打印机共享。

在Ubuntu中安装samba服务器。

环境:windows7  Ubuntu10  

      Ubuntu10的IP地址为192.168.225.129

1 安装服务器软件

  sudo apt-get install samba  sudo apt-get install smbfs
   启动samba服务器

  sudo /etc/init.d/samba start

   (现在可能会出现问题,我就出了,会告诉你找不到该命令,此时需要 再安装 sudo apt-get install samba4,并且再次启动时是 使用命令 sudo /etc/init.d/smbd start  或者命令 sudo service smbd start)

      相应的 sudo service smbd restart     重启服务

                   sudo service smbd stop        关闭服务

2 创建共享的文件夹,并将该文件夹设置为可执行态。

 mkdir /home/Ubuntu/share chmod 744 /home/Ubuntu/share

3 给samba的配置文件做配置

   //备份smb.conf文件

  sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

   //编辑smb.conf文件

  sudo gedit /etc/samba/smb.conf

       

       *smb.conf主要可以分为两部分:前一部分为Global Settings(全局部分),全局部分能够对主机的相关信息进行配置,而且能够配置访问时是否需要密码。常用选项有:
workgroup=MSHOME


这部分是Windows主机的工作组明,Windows主机必须在同一个工作组中,

server string=%h server(Samba,Ubuntu)

这个选项是显示在Windows上的信息,可以自定义,其中%h为Samba配置文件中的变量,代表了主机名,即使用hostname命令得到的主机名。

log file=/var/log/samba/log.%m

这里指定了Samba服务的日志文件所在位置,其中%m也是samb.conf文件的变量,代表了登录主机的NetBIOS名。Windows主机的NetBIOS命令可以通过鼠标右键打开“电脑/属性/高级系统设置/计算机名/更改/其他“来查看。

max log size=1000
设置日志文件的最大尺寸,大小为KB。

4 创建用户及组

  sudo groupadd mysmb      -------创建组

  sudo useradd mysmb -g mysmb         -------创建用户mysmb并将该用户分配到组mysmb中,需要强调的是这里的mysmb组和mysmb用户是针对linux系统用户的,而不是samba的用户。需要后面的配置。

  

5 搜寻下面文字

   ; security = user 或者 # security = user

   (在smb.conf文件中,“; ”和“#”的作用都是注释 )

   将其替换成

    security = user        ------这里是设置了samba的安全等级。

    username map = /etc/samba/smbusers

   

    *  samba的安全等级一共分为四个安全等级,由低到高分别是

    share : 表示任何人都可以不用输入密码登陆。

    user : samba默认等级,要求用户必须输入密码才能登陆。

    server : user级别的密码都是保存在本机上,而server级别的密码都是保存在另一台主机上。

    domain : 这个级别的要求网络里必须有一台windows的域控制器,验证工作由域控制器完成。

    

6  将下面的几行代码加到最后,允许访问的用户为mysmb,共享的文件夹绝对路径为/home/Ubuntu/share

      path = /home/Ubuntu/share   ---必须是绝对地址
      available = yes
      browsealbe = yes
      public = yes        ---是否允许用户看到此目录,no为看不见
      writable = yes     ---是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有w权限

      create mask = 0777     -----用户访问共享文件夹时,可在该文件夹下创建文件

      directory mask = 0777   ------用户访问共享文件夹时,可在该文件夹下创建目录

7 创建samba用户

  sudo touch /etc/samba/smbpasswd  sudo smbpasswd -a mysmb

  注意:samba的用户需要是linux的用户。如果不设置samba用户会提示

session setup fail :NT_STATUS_LOGON_FAILURE;

  

  * 

   smbpasswd [-选项] 用户名

   -a : 新添加一个Samba用户

   -d : 禁用一个Samba用户

   -e : 解禁一个Samba用户

   -x : 删除一个Samba用户

8 重启服务器

 service smbd restart

9 测试服务器是否正常建立,Ubuntu的ip地址为192.168.225.129

  smbclient -L //192.168.225.129 -U mysmb

   输入密码成功后,如果安装成功,会出现类似的信息

   

  

或者在windows下进入,在文件夹界面的地址栏输入

 \\192.168.225.129\share

10 也可以下载samba的界面管理进行相关操作

   sudo apt-get install system-config-samba   sudo system-config-samba      -----启动

11 把Ubuntu共享的文件夹映射成为一个网络驱动器,就可以像访问本地硬盘一样访问该文件夹

   window下,游击我的电脑,->映像网络驱动器,选择驱动器名称,文件夹路径。


在工作过程中参考了一些博客

 http://zzhere2007.blog.163.com/blog/static/85336771201191610570465/?COLLCC=285838566&

原创粉丝点击