samba服务器的简介及其简易配置

 Linux下进行资源共享有很多种方式,Samba服务器就是最常见的一种。Samba服务器可以让Windows操作系统用户访问局域网中Linux主机,就象访问网上邻居一样方便。如图1所示,图中的服务器运行Samba服务器程序,其操作系统是Linux。该服务器通过Samba可以向局域网中的其他Windows系统提供文件服务。同时,在Linux服务器上还连接了一个共享打印机,打印机也通过Samba向局域网的其他Windows用户提供打印服务。

1 Samba工作原理
Samba 的工作原理是,让Windows系列操作系统网络邻居的通讯协议——NETBIOS(NETwork Basic Input/Output System)和SMA(Server Message Block)这两个协议在TCP/IP通信协议上运行,并且使用Windows的NETBEUI协议让Linux可以在网络邻居上被Windows看到。其中最重要的就是SMB(Server Message Block)协议,在所有的诸如Windows Server 2003、Windows XP等Windows系列操作系统中广为应用。Samba就是SMB服务器在类UNIX系统上的实现,目前可以在几乎所有的UNIX变种上运行。
2 Samba服务器的功能
文件共享和打印共享是Samba最主要的功能。Samba为了方便文件共享和打印共享,还实现了相关的控制和管理功能。具体来说,Samba完成的功能有:
共享目录:在局域网上共享某个或某些目录,使得同一个网络内的Windows用户可以在网上邻居里访问该目录,就跟访问网上邻居里其他Windows机器一样。
目录权限:决定每一个目录可以由哪些人访问,具有哪些访问权限。Samba允许设置一个目录让一个人、某些人、组和所有人访问。
共享打印机:在局域网上共享打印机,使得局域网的其他用户可以使用Linux操作系统下的打印机。
打印机使用权限:决定哪些用户可以使用打印机。
安装和配置好了Samba服务器后,Linux就可以向局域网中的Windows用户提供文件和打印服务了。
3 SMB协议
NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件和打印服务系统,该系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被Microsoft用于它们的Lan Manager和Windows服务器系统中,而Windows系统均包括这个协议的客户软件,因而这个协议在局域网系统中影响很大。 随着Internet的流行,Microsoft希望将这个协议扩展到Internet上,成为Internet上计算机之间相互共享数据的一种标准。它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为CIFS(Common Internet File System)。因此,为了让Windows和UNIX计算机相集成,最好的办法即是在UNIX中安装支持SMB/CIFS协议的软件,这样Windows客户就不须要更改设置,就能如同使用Windows NT服务器一样,使用UNIX计算机上的资源了。
 
下面介绍Samba的安装、简易配置以及启动和停止的指令。
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# ll samba*
-r--r--r-- 86 root root 17012467 Jul 23 2009 samba-3.0.33-3.14.el5.i386.rpm
## 服务器端
-r--r--r-- 86 root root 5930356 Jul 23 2009 samba-client-3.0.33-3.14.el5.i386.rpm
## 客户端
-r--r--r-- 99 root root 9094678 Jul 23 2009 samba-common-3.0.33-3.14.el5.i386.rpm
## 配置文件
-r--r--r-- 86 root root 8628593 Jul 23 2009 samba-swat-3.0.33-3.14.el5.i386.rpm
## 利用web方式实现管理服务器
[root@localhost Server]# rpm -qa |grep samba
samba-common-3.0.33-3.14.el5
samba-client-3.0.33-3.14.el5
samba 客户端已经安装,下面安装服务器
[root@localhost Server]# cd       
[root@localhost ~]# yum install samba –y
Installed:
 samba.i386 0:3.0.33-3.14.el5                                                     
Dependency Installed:
 perl-Convert-ASN1.noarch 0:0.20-1.1      ## 依赖的包                                        
Complete!
可以用一下命令查看安装之后形成的文件
[root@localhost Server]# rpm -ql samba|less
[root@localhost Server]# rpm -ql samba-client
[root@localhost Server]# rpm -ql samba-common |less  
重新启动服务
[root@localhost ~]# service smb restart
Shutting down SMB services:                                [ OK ]
Shutting down NMB services:                                [ OK ]
Starting SMB services:                                     [ OK ]
Starting NMB services:
查看各自的端口号

没有实现地址绑定之前,给eth0添加一个辅助ip地址
[root@localhost ~]# ifconfig eth0:0 192.168.145.102
window 客户端访问smb服务器

下面绑定地址,在绑定之前先把配置文件备份一份
[root@localhost ~]# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
[root@localhost ~]# vim /etc/samba/smb.conf
[root@localhost ~]# man 5 smb.conf
可以查看man手册,默认不绑定
[root@localhost ~]#
79        interfaces = lo 192.168.2.101/24
 80         bind interfaces only = yes
重新启动smb服务
[root@localhost ~]# service smb restart
在查看一下端口并测试

 
 
限定客户端ip登录
81 hosts allow = 192.168.2.5
测试

打开日志信息
90         log file = /var/log/samba/%m.log
92         max log size = 50
测试

Samba 服务器的安全级别
Share    匿名
User     身份验证 samba帐号库(本地)
Server   身份验证 帐号库(其他服务器)
Domain ads 身份验证
 
把服务器设为share级别
102         security = share
测试

 
共享名              物理路径           权利
public               /abc                r o
smbzs              /leeabc              rw
 
256 [public]
257         comment = this is a public dir
258         path = /abc
259         browseable = yes
260         guest ok = yes
261         writable = no
262 ;        printable = yes
263
264 [smbzs]
265         comment = this is a lee dir
266         path = /leeabc
267         browseable = yes
268         guest ok = no
269         valid users = user1
270         writable = yes
271;         printable = yes
创建相应的目录和帐号
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mkdir /leeabc
[root@localhost ~]# useradd user1
[root@localhost ~]# chown user1:user1 /leeabc
[root@localhost ~]# cd /leeabc
[root@localhost leeabc]# touch lee.txt
[root@localhost leeabc]# cd /abc 
[root@localhost abc]# touch abc.txt
建立本地帐号库
[root@localhost abc]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.
重新启动
[root@localhost abc]# service smb restart
测试
只能查看public文件夹的内容,不能修改删去,smbzs文件夹的内容有rw权限

 

测试挂载
[root@localhost ~]# vim /etc/fstab
//192.168.2.101/smbzs   /mnt/smb       cifs    defaults,username=user1%123 0  0
[root@localhost ~]# mount -a
[root@localhost ~]# mount
可以看到已经挂载到/mnt/smb
为了安全
[root@localhost ~]# vim /etc/samba/f1
username=user1
password=123
 
[root@localhost ~]# vim /etc/fstab
//192.168.2.101/smbzs  /mnt/smb        cifs    defaults,credentials=/etc/samba/f1  0  0
[root@localhost ~]# mount -a
[root@localhost ~]# mount
//192.168.2.101/smbzs on /mnt/smb type cifs (rw,mand)
可以看到已经挂载成功
 
 
 

你可能感兴趣的:(samba,nfs)