当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 架设Samba服务器,用User共享方式?

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 65 ::
收藏到网摘: n/a


一点理论:
在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就会出现一个提示框[[email protected]: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服务:[确定]