架设Samba服务器,用User共享方式?

2008-09-25 15:24 稿源:互联网  0条评论

一点理论:
在Windows中,我们都知道网络邻居,是Windows共享资源的方式。Linux写Windows互访与共享资源的方式是利用Samba服务,其实我觉得它更象一个软件。Windows与Linux通过Samba,可以相互共享资源,是互为服务器和客户端的关系。比如当装有Windows操作系统的机器,向装有Linux系统的机器存取文件,那Windows应该是客户机,而Linux则是服务器;如果Linux的机器向Windows访问和存限文件及使用Windows提供的打印服务,这时应该说Windows是服务器,而Linux是客户机。

注意的事项:
1。如果在windows下不能加入linux的共享,可能出现在帐户上,要在linux和window的机器上都要建一个相同的用户,密码也要一样。否则不能访问。

2。如果在windows的网络邻居中,有时可能不会发现linux的共享。我们要自己在添加网络邻居中加上。要以\\linux的samba的主机名也就是netbiosname中定义的\共享名。这样说可能新手弟兄不太懂。我说的也不太专业。呵。。。请仔细看本帖中的\\linsir01\win02类似的,还有\\linsir01\share;\\linsir01\win03之类的。

3。要在windows加上相关的协议;添加网络协议,把IPX/SPX以及NETBEUI两个协议加入。

操作环境:三台机器,两台win2000;一台是RH80.

一、查看是否Samba在系统中被安装了;这也是安装其它软件的操作步骤:注:以root登入,或者以root权限执行;

#rpm-qa|grepsamba

samba-2.2.5-10
samba-swat-2.2.5-10
samba-common-2.2.5-10
samba-client-2.2.5-10

如果没有出现上面的三个安装包,我们就要在盘中把这些包找出来安装上;把光盘中凡是带有samba的都找出来,放到linux的一个临时的文件夹中。比如我们临时放到/tmp目录里。
然后执行:
#rpm-ivhsamba*.rpm--nodeps--force

二、然后我们判断一下,是否samba服务已经启动,如果没有,我们就得打开。

一般说来,在系统默认的情况下,samba是不会启动的。但我们也应该懂得如何查看此服务是否启动了,这也是我们的一个操作的流程吧。使用查看进程命令:

#ps-aux|grepsmb

在这里,我们要说明一点,为什么我们不用#ps-aux|grepsamba命令呢,在下文可能就明白了,现在能记住就好了。不为什么,因为系统的服务就是smb,而非samba,samba只是一个名字而已。

如果用查看进程的命令,出现了第二行的样子。就是已经把samba服务打开了,如果没有出现,就是没有打开。

#ps-aux|grepsmb
root17190.00.349161820?S08:210:00smbd-D
root18490.00.14776628pts/1S08:480:00grepsmb

三、打开samba服务;

如果我们没有打开samba服务,我们应该用以下两种方法来打开,系统服务,一般打开方式都是如此。

1.用setup命令来打开,在#setup执行下去的时候,有个Systemserverices,然后移动键盘的上下键来选定[Systemserverices]项,然后把smb和swa两项前面加个*号,表示已经选中了,意思就是自动启动这两个服务。或者用更直接的办法用命令进入[Systemserverices]的选择框中。
以上解释中用到的两个命令是:
#setup

#ntsysv

以这种方式,只是打开,但如果不重新启动,samba的服务也不能运行,我们还要用命令来执行,让机器不重新启动的情况下把samba服务执行起来,一般的情况下,我们要操作的samba的命令都在/etc/rc.d/init.d/目录里,要用下面的方式来运行。

#/etc/rc.d/init.d/smbstart
用了上面的命令,如果能看到下面的提示,就证明已经把samba启动了。

启动SMB服务:[确定]
启动NMB服务:[确定]

当然也可以用下面的方式,只是多了一步,不过进入/etc/rc.d/init.d/目录看一下也好,看里面都有什么,凡是我等菜鸟,也不能不看一下。

#cd/etc/rc.d/init.d/

然后再执行
#./smbstart

然后了,那如何把samba的服务停下来呢?那就stop;如何重启samba服务器,那就restart了

如果是在/etc/rc.d/init.d目录中,我们就要执行
#./smbstop
#./smbrestart

如果不在/etc/rc.d/init.d目录中,我们就要这样执行,上面已经有说过了。

#/etc/rc.d/init.d/smbstop
#/etc/rc.d/init.d/smbrestart

2.运行如下的命令也有在X下打开

#redhat-config-services

然后也是选中smb和swat,然后保存一下。这个比较简单。如果您在smb这项,选中后,然后就点一下开始。这样就把smb服务打开了。

把服务打开了也启动起来了,我们还是要用查看进程命令来查看一下,samba服务是否在运行了。

#ps-aux|grepsmb

如果还是没有下面这行,我觉得不太可能了。呵。。。。。

root17190.00.349161820?S08:210:00smbd-D

设置samba的配置文件
1.图形化的配置工具swat;

打开mozilla,或者konqueror以及gnome下的文件管理器,总之无论如何打开文件管理器就行了。在地址栏中输入
127.0.0.1:901就会出现一个提示框[SWAT@127.0.0.1:901]

在用户名下输入root用户名和密码就能进入图形置置界面了,这个比较简单。

1]点一下[Global]那项,就出来一个让我们设置的选项。我们只要简单的设置一下这些就行了,如果您对samba不太了解,建议不要改其它的东西。如果您按我在前面说的做,把smb.conf
文件有备份,那您改就改吧。。哈。。错了也没有什么,我们再恢复一下就OK了。。

BaseOptions

clientcodepage936这样就能显示简体中文了用户组名。

[workgroup]这一项,就是在网络邻居中[Windows的称呼]中的工作组的名称,这一项我用的是MSHOME,因为我把其它的两台电脑也设置在了这个工作组。

[netbiosname]这是出现在网络邻居中的主机名,我设置的linsir01,采用默认也行。出现的是Linux真正的主机名。

[security],设置为user

[encryptpasswords]设置为yes

2]点一下[shares],也看一下吧。这个也是比较重要的,我还是主要说几点要注意的。其实我们在局域网中用到的都比较简单的功能。简单的设置一下就行了。

点一下[chooseshare],有一个是[homes]的选项吧。点一下。。。然后。。。。看过来。。看一下和下面的差不多就行,其实不用改什么,了解一下就行。。

comment这个选项可以不写

path也可以不写

guestaccountnobody默认就行。

validusers%S

readonlyYes

guestokNo

3]creatshare这一项就是要我们创建共享目录以及个人目录的,可能有的弟兄有点不解,为什么这样说呢??一步一步的来。。。。。

A。我们创建一个win02,在[ceateshare]那个按钮的边上,有个空格。呵。。。可能您知道了吧,写个win02,然后按一下[createshare]

commentwin02

path/home/win02

usernamewin02

guestaccounnobody

validuserswin02

readonlyNo

guestokNo

browseableYes

availableYes

B。以相同的办法创建win03,目录也为/home/win03

C。然后我们再创建一个所有用户都能看共享的目录,也就是说,所有的用户都能写入,读取,执行。我就是把这个目录用来做windows机器软件安装的基地了。哈。。。

我们还是按照上面步骤A的样子,在[createshare]上输入share,对于名字来说,我们还是不要用太长的,否则测试通不过,可能是最多只有8个字节,所以我就用最简单的了。点到为止。

commentwinandlinuxshare

path/share

guestaccounnobody

readonlyNo

guestokYes

browseableYes

availableYes

这样就行了。。。

关于打印方面的,以linux的机器上的打印机,还是大家一起来研究吧。我安装成功了,可是windows打印东西,总是出乱码。所以在这里我就不说如何设置了。我成功了,再补充。

4]测试配制文件是否正确

[root@linuxsir01root]#testparm
Loadsmbconfigfilesfrom/etc/samba/smb.conf
Processingsection"[homes]"
Processingsection"[printers]"
Processingsection"[share]"
Processingsection"[win03]"
Processingsection"[win02]"
LoadedservicesfileOK.
Pressentertoseeadumpofyourservicedefinitions

如果出现上面样子的,就差不多了,如果有警告之类的,可能问题出现在[share]那一步中,可能名字太长了,不要超过8个字节。否则通不过

5]重新启动smb

[root@linuxsir01root]#/etc/rc.d/init.d/smbrestart
关闭SMB服务:[确定]
关闭NMB服务:[确定]
启动SMB服务:[确定]

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多