Samba服务器是嵌入式linux开发必不可少的工具软件,它主要实现windows与linux共享。本文首先介绍了samba的相关知识,然后主要介绍了在Ubuntu9.10上安装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服务器软件
sudo apt-get install samba
sudo apt-get install smbfs
2.2 接下来,配置samba服务器

假设你要共享的文件夹为: /home/reille(这是我ubuntu上用户reille的目录)。如果没有这个共享文件夹,先要创建这个文件夹,有的话就不用了,然后改其权限:

mkdir /home/reille
chmod 777 /home/reille
2.3 备份并编辑smb.conf,配置为需要用户密码访问

2.3.1 :

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf

2.3.2 :搜寻下面这行文字:

; security = user 或 # security

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

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

security = user
username map = /etc/samba/smbusers

2.3.3 :

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

[samba_share]
comment = Shared Folder with username and password
path = /home/reille
public = yes
writable = yes
valid users = smb
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes

这两行

create mask = 0777
directory mask = 0777

表示用户访问这个共享文件夹时,可以在这个共享文件夹上创建文件和目录。

2.3.4 :

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

workgroup = MSHOME
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

第一行是你的WINDOWS所在的工作组,适你的计算机进行更改

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

2.4 :

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

sudo useradd smb

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

2.5:

新增网络使用者的帐号:

sudo smbpasswd -a smb
sudo gedit /etc/samba/smbusers

并在新建立的文件smbusers内加入下面这一行并保存:

smb = "network username"
2.6:

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

sudo smbpasswd -a smb

如果要删除网络使用者的帐号,把上面命令的 -a 改成 -x。

2.7:

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

sudo /etc/init.d/samba restart
3. 验证samba服务器是否安装成功

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

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

使用命令如下进行验证:

 smbclient -L //192.168.1.125 -U smb

输入密码登陆成功后,如果安装成功,如出现如下提示信息:

Enter smb's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]

Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Share Disk Shared Folder with username and password
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]

Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)
WWW-BB0415062B9 guoyirong

Workgroup Master
--------- -------
MSHOME WWW-BB0415062B9

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

//192.168.1.125

回车后会进入到ubuntu的共享文件夹,可以看到我们要共享的文件夹:samba_share

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

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

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

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量