分类: LINUX
2008-08-28 17:08:45
更多Linux文章请看:
架设Samba服务器的前提
Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相关,这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建好自己的Samba服务器。哪个更容易,只有你知道;
对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创建好相应的目录就行了。其实并不是这样的,还要深入的工作,比如目录的权限和归属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限结合起来,才能架好Samba服务器;
下面是常用的基础知识,我们在本文中所涉及的内容都可以在下面的列表中找到相应的解释;
0.1查看文件内容和编辑文件的工具;
《Linux文件内容查看工具介绍》
《文件编辑器vi》
0.2关于文件和目录相关;
《Linux文件类型及文件的扩展名》
《Linux文件和目录管理之列出、删除、复制、移动及改名》
《Linux文件和目录的属性》
《简述Linux文件搜索》
03用户和用户组相关;
《Linux用户(user)和用户组(group)管理概述》
《用户(User)和用户组(Group)配置文件详解》
《Linux用户管理工具介绍》
《Linux用户(User)查询篇》
04进程管理;
《Linux进程管理》
1、Samba简介
Samba(SMB是其缩写)是一个网络服务器,用于Linux和Windows共享文件之用;Samba即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
大家知道在Windows网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba也一样能行,比如一台Linux的机器,如果架了SambaServer后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba服务器;
我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。
Samba用的netbios协议,如果您用Samba不成功,
Linux与Windows、Linux和Linux
2、Samba功能和应用范围
Samba应该范围主要是Windows和Linux系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;
那Samba能为我们提供点什么服务呢?主要是共享文件和共享打印机;
3、Samba两个服务器相关启动程序、客户端及服务器配置文件等;
3.1Samba有两个服务器,一个是smb,另一个是nmb;
smb是Samba的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;
\\192.168.1.5\共享目录
\\192.168.1.5\opt
而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbiosname解析出来;
一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba,一般可以通过如下的方式来启动Samba服务器;
[root@localhost~]#/etc/init.d/smbstart
启动SMB服务:[确定]
启动NMB服务:[确定]
如果停止呢?就在smb后面加stop;重启就是restart
[root@localhost~]#/etc/init.d/smbstop
[root@localhost~]#/etc/init.d/smbrestart
对于所有系统来说,通用的办法就是直接运行smb和nmb;当然您要知道smb和nmb所在的目录才行;如果是自己编译的Samba,您应该知道您把Samba放在哪里了;
[root@localhost~]#/usr/sbin/smbd
[root@localhost~]#/usr/sbin/nmbd
查看服务器是否运行起来了,则用下面的命令;
[root@localhost~]#pgrepsmbd
[root@localhost~]#pgrepnmbd
关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;
[root@localhost~]#pkillsmbd
[root@localhost~]#pkillnmbd
3.2查看Samba服务器的端口及防火墙;
查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445;
[root@localhost~]#netstat-tlnp|grepsmb
tcp000.0.0.0:1390.0.0.0:*LISTEN10639/smbd
tcp000.0.0.0:4450.0.0.0:*LISTEN10639/smbd
如果您有防火墙,一定要把这两个端口打开。如果不知道怎么打开。可能你和我一样是新手,还是把防火墙规则清掉也行;
[root@localhost~]#iptables-F
或
[root@localhost~]#/sbin/iptables-F