ubuntu9.10 samba服务器设置参考1

时间:2022-09-13 22:26:39

在说明如何在ubuntu9.10上(其它版本ubuntu差不多)安装samba服务器之前,先介绍下samba的知识。

【1. Samba相关知识】:

        自从出现NetBIOS协议,Microsoft用它实现了网络文件/打印服务,即大家熟知的打印与共享服务,它是基于SMB(Server Message Block)协议,实现不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)。随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为 CIFS(Common Internet File System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。
        为了实现让Windows共享UNIX主机上的资源,可行的一种方法就是在UNIX计算机中安装支持SMB/CIFS协议的软件,这样Windows客户端就不需要更改设置,同对待Windows主机一样,能用UNIX计算机上的资源了。Samba就是用来实现SMB的一种软件,它的工作原理是让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主机之间的打印机共享。

        既然有这么好的工具,那我们就可以实现在xp上共享虚拟机ubuntu9.10上的资源,给更习惯于WINDOWS操作的嵌入式linux开发程师(像我一样的)带来更大的便利。

【2. ubuntu安装和配置samba服务器】

2.1 首先,安装samba服务器软件:

[c-sharp] view plain copy print ?
  1. sudo apt-get install samba 
  2. sudo apt-get install smbfs 

2.2 接下来,配置samba服务器,假设你要共享的文件平为: /home/reille(这是我ubuntu上用户reille的目录)。

如果没有这个共享文件夹,先要创建这个文件夹,有的话就不用了,然后改其权限:

[c-sharp] view plain copy print ?
  1. mkdir /home/reille 
  2. chmod 777 /home/reille 
 

2.3 备份并编辑smb.conf,配置为需要用户密码访问:

2.3.1 :

[c-sharp] view plain copy print ?
  1. sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup 
  2. sudo gedit /etc/samba/smb.conf  

2.3.2 :搜寻下面这行文字:

[c-sharp] view plain copy print ?
  1. ; security = user 或 # security  

(在smb.conf文件中,;和#都表示注释)

然后,用下面这几行取代:

[c-sharp] view plain copy print ?
  1. security = user 
  2. username map = /etc/samba/smbusers 
  
2.3.3 :

将下列几行新增到文件的最后面,假设允许访问的用户为:smb。而文件夹的共享名为samba_share

[c-sharp] view plain copy print ?
  1. [samba_share] 
  2. comment = Shared Folder with username and password 
  3. path = /home/reille 
  4. public = yes 
  5. writable = yes 
  6. valid users = smb 
  7. create mask = 0777 
  8. directory mask = 0777 
  9. force user = nobody 
  10. force group = nogroup 
  11. available = yes 
  12. browseable = yes 
  
这两行

[c-sharp] view plain copy print ?
  1. create mask = 0777 
  2. directory mask = 0777 
  
表示用户访问这个共享文件夹时,可以在这个共享文件夹上创建文件和目录。

2.3.4 :

然后顺便把这里改一下,找到[global]把 workgroup = WORKGROUP 改成

[c-sharp] view plain copy print ?
  1. workgroup = MSHOME 
  2. display charset = UTF-8 
  3. unix charset = UTF-8 
  4. dos charset = cp936 
 
第一行是你的WINDOWS所在的工作组,适你的计算机进行更改

后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936。自己看着办吧。

2.4 :

现在要添加smb这个网络访问帐户。如果系统中当前没有这个帐户,那么

[c-sharp] view plain copy print ?
  1. sudo useradd smb 
  
注意,上面只是增加了smb这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录,换句话说,在/home目录下不会有smb这个文件夹。而且samba的登录密码可以和本机登录密码不一样。

2.5:

新增网络使用者的帐号:

[c-sharp] view plain copy print ?
  1. sudo smbpasswd -a smb 
  2. sudo gedit /etc/samba/smbusers 
  
并在新建立的文件smbusers内加入下面这一行并保存:

[c-sharp] view plain copy print ?
  1. smb = "network username" 
  
2.6:

如果将来需要更改newsfan的网络访问密码,也用这个命令更改:

[c-sharp] view plain copy print ?
  1. sudo smbpasswd -a smb 
 
如果要删除网络使用者的帐号,把上面命令的 -a 改成 -x。

2.7:

最后退出重新登录或者重新启动一下机器:

[c-sharp] view plain copy print ?
  1. sudo /etc/init.d/samba restart 

【3. 验证samba服务器是否安装成功】

配置好并重新登陆或重新启动后,可以验证下samba服务是否安装成功。

我的ubuntu9.10的IP地址是:192.168.1.125

使用命令如下进行验证:

[c-sharp] view plain copy print ?
  1. smbclient -L //192.168.1.125 -U smb 
  
输入密码登陆成功后,如果安装成功,如出现如下提示信息:

[c-sharp] view plain copy print ?
  1. Enter smb's password: 
  2. Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0] 
  3.  
  4.         Sharename       Type      Comment 
  5.         ---------       ----      ------- 
  6.         print$          Disk      Printer Drivers 
  7.         Share           Disk      Shared Folder with username and password 
  8.         IPC$            IPC       IPC Service (ubuntu server (Samba, Ubuntu)) 
  9. Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0] 
  10.  
  11.         Server               Comment 
  12.         ---------            ------- 
  13.         UBUNTU               ubuntu server (Samba, Ubuntu) 
  14.         WWW-BB0415062B9      guoyirong 
  15.  
  16.         Workgroup            Master 
  17.         ---------            ------- 
  18.         MSHOME               WWW-BB0415062B9 
 

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


[c-sharp] view plain copy print ?
  1. //192.168.1.125 
  
回车后会进入到ubuntu的共享文件夹,可以看到我们要共享的文件夹:samba_share

【4. 把ubuntu共享的文件夹:samba_share映射成为一个网络驱动器】

在windows下可以把ubuntu共享的文件夹:samba_share映射成为一个网络驱动器,这样你就可以像访问C、D盘一样访问这个共享的文件夹。

4.1 :

点击桌面上我的电脑,然后单击右键,在菜单中选择【映像网络驱动器(N)...】,然后选择驱动器的名称,和共享文件夹的路径。。这都是很容易的事情,就不再详细描述了。。。