先简单介绍一下,SMB(Server Messages Block,信息服务块)是在局域网上共享文件和打印机的一种协议,通过它可以使局域网内的Windows、linux和Unix等系统共享文件和打印机等资源。在linux上可以运行SMB的软件很多,最常用的就是Samba。如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。

安装samba服务器的RPM包

   像在linux下安装配置其他服务一样,先要安samba有关的RPM包:

   1)Samba-common:包括samba服务器和客户端均需要的文件(在第一张光盘中)

   2)Samba:samba服务端软件(在第一张光盘中)

   3)Samba:samba客户端软件(在第一张光盘中)

   说明一下,列出这些要安装的rpm包包只是为了说明清楚些,其实只要用个“samba*”就全搞定了。为了老少皆宜,我把所有操作过程都帖了过来,连不会挂载光驱的朋友都应该能看懂吧。

1)[root@linux root]# mount /mnt/cdrom  
[root@linux root]# cd /mnt/cdrom/RedHat/RPMS/    
[root@linux RPMS]# rpm -ivh rpmdb-redhat-9-0.20030313.i386.rpm    
warning: rpmdb-redhat-9-0.20030313.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e    
Preparing...        ###################################### [100%]    
  1:rpmdb-redhat     ################################### [100%]

   这一步是准备工作,把REDHAT 9的C盘中的rpmdb-redhat包安上,可以解决安装时的依赖关系错误。

[root@linux RPMS]# cd  
[root@linux root]# umount /dev/cdrom    
[root@linux root]# mount /mnt/cdrom

   既然samba的包都在REDHAT 9的A盘,就在光驱中放入A盘,mount挂载一下。

mount: /dev/cdrom already mounted or /mnt/cdrom busy  
mount: according to mtab, /dev/cdrom is already mounted on /mnt/cdrom    
[root@linux root]# cd /mnt/cdrom/RedHat/RPMS/    
[root@linux RPMS]# rpm -ivh samba* --aid

  安装所有以samba开头的包,加上—aid参数,就把安装时所需的其他包也安上了,很方便。

warning: samba-2.2.7a-7.9.0.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e  
Preparing...         ##################################### [100%]    
  1:libjpeg           ##################################### [ 14%]    
  2:libtiff              ##################################### [ 29%]    
  3:libpng            ##################################### [ 43%]    
  4:cups-libs        ##################################### [ 57%]    
  5:samba-common    ################################## [ 71%]    
  6:samba           ##################################### [ 86%]    
  7:samba-client  #################################### [100%]

修改配置文件

[root@linux RPMS]# vi  /etc/samba/smb.conf

   在[global]部分做如下修改:

1) workgroup = WORKGROUP        (改一下工作组名)

2) hosts allow = 192.168.138.    (写一个允许访问这服务器的网段,末尾有“.”)

3) security=user

   samba有四种安全等级:

share:用户不需要账户及密码即可登录samba服务器
user:由提供服务的samba服务器负责检查账户及密码(默认)    
server:检查账户及密码的工作由另一台windows或samba服务器负责    
domain:指定windows域控制服务器来验证用户的账户及密码)

4) encrypt passwdords=yes         (去掉前面的注释“;”)

smb passwd file = /etc/samba/smbpasswd     (密码文件的位置)

   在文件末尾添加如下内容:

[samba]              (共享文件夹名)  
comment=This is my samba server  (这是注释行,可以不写东西)    
path=/samba    (指定要共享文件的位置)    
writable = yes          
browseable =yes    
read only = yes    
create mode=0664   (这是文件权限)    
directory mode=0777    (这是目录权限)

   保存退出。vi编辑器使用,按“i”,修改添加;先按“esc”,再按“:”输入“wq”即是保存退出,输入“q!”是不存盘退出。

启动samba服务

[root@linux samba]# service smb start     (启动samba服务)  
Starting SMB services: [  OK  ]    
Starting NMB services: [  OK  ]    
[root@linux samba]# testparm         (检查配置文件的正确性)    
Load smb config files from /etc/samba/smb.conf    
Processing section "[homes]"    
Processing section "[printers]"    
Processing section "[samba]"    
Loaded services file OK.    
Press enter to see a dump of your service definitions

创建一个samba用户

   该用刻户在windows下有没有都无所谓。

1)建一个系统用户

[root@linux samba]# useradd  samba      (建一个名叫samba的用户)  
[root@linux samba]# passwd samba        (给samba用户添加密码)    
Changing password for user samba.    
New password:               (密码要六位以上,不显示在屏幕上)    
BAD PASSWORD: it does not contain enough DIFFERENT characters    
Retype new password:         (确认密码)    
passwd: all authentication tokens updated successfully.

2)然后创建samba帐户

[root@linux samba]# smbpasswd -a samba  
(-a必须加,为了生成密码文件smbpasswd,该密码是windows登陆Linux的samba用户密码)    
New SMB password:    
Retype new SMB password:    
unable to open passdb database.    
Added user samba.

3)查看一下生成的用户名、密码

[root@linux samba]# vi /etc/samba/smbpasswd  
samba:500:A9C604D244C4E99DAAD3B435B51404EE:ACB98FD0478427CD18949050C5E87B47:[UX         ]:LCT-468268E6:

4)重新启动samba服务

[root@linux samba]# service smb restart  
Shutting down SMB services: [  OK  ]    
Shutting down NMB services: [  OK  ]    
Starting SMB services: [  OK  ]    
Starting NMB services: [  OK  ]

最后阶段,进行测试

1)先按照主配置文件所指定的位置,建好要共享的资源。

[root@linux usr]# mkdir samba     (建/usr/samba文件夹)  
[root@linux usr]# chmod 777 /usr/samba   (samba服务器受本地文件系统权限和共享权限两种权限,而且是取最严格的权限,为了方便就把本地权限都给足好了)    
[root@linux usr]# cd samba    
[root@linux samba]# vi aaa.txt

2)在Windows客户机的地址栏中输入samba服务器ip(如“\\192.168.138.110)

在linux上安装配置samba服务器_linux

在linux上安装配置samba服务器_linux_02

   OK了,在linux搭建的samba服务器上资源可以供Windows客户端访问了。

http://publish.it168.com/2007/0629/20070629156201.shtml

http://publish.it168.com/2007/0629/20070629156202.shtml

http://publish.it168.com/2007/0629/20070629156203.shtml