Chinaunix首页 | 论坛 | 博客
  • 博客访问: 613086
  • 博文数量: 486
  • 博客积分: 10125
  • 博客等级: 上将
  • 技术积分: 5842
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(486)

文章存档

2011年(52)

2010年(107)

2009年(289)

2008年(38)

我的朋友

分类: LINUX

2009-07-29 20:36:29

Linux学习手工打造(二)『RHEL5企业级 Linux服务攻略』之samba服务




Linux学习手记(二)『RHEL5企业级 Linux服务攻略』
16:12 2009年7月20日
【samba介绍】
Samba是Linux与Windows沟通的桥梁,其可以作为File、Printer、Domain Server等。
①文件和打印共享:文件和打印机共享是Samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问
②身份验证和权限设置:smbd服务支持user mode和domain mode等模式通过加密方式可以保护共享的文件和打印机。
③名称解析:Samba 通过nmbd 服务可以搭建 NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP 地址。 
④浏览服务:局域网中,Samba 服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。
【samba工作原理SMB协议】
①协议协商:客户连接samba服务器,客户发送negport指令包,服务器根据客户端选择最优SMB类型,并回应。
②建立连接:SMB确认连接类型后,客户发送session setup指令包,提交用户名、密码。并分配唯一UID给客户。
③访问资源:客户访问资源时,发送tree connect指令包,通知服务器要访问的资源名,如服务器设置允许,samba服务器给每个共享链接分配TID,客户端即可访问需要的共享资源。
④断开连接:共享使用完毕,客户端想服务器发送tree disconnect报文关闭共享,与服务器断开连接。
【samba进程】
samba服务有2个进程:nmbd和smbd
nmbd:进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。
smbd:管理samba服务上的共享目录、打印机主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠 smbd 这个进程来管理数据传输。
【安装samba服务】
samba-3.0.25b-0.el5.4.i386.rpm:该包为 Samba服务的主程序包。服务器必须安装该软件包,后面的数字为版本号(我们安装时使用的是 RHEL5.1DVD 版,如果是RHEL5.1CD 版则该软件包位于第二张 RHEL5 安装光盘上)。
samba-client-3.0.25b-0.el5.4.i386.rpm:该包为Samba的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具(该软件包位于第一张 RHEL5 安装光盘哈~)
samba-common-3.0.25b-0.el5.4.i386.rpm:该包存放的是通用的工具和库文件,无论是服务器还是客户端都需要安装该软件包(这个软件包也位于第一张RHEL5 安装光盘哈~)
samba-swat-3.0.25b-0.el5.4.i386.rpm:当安装了这个包以后,就可以通过浏览器(比如 IE等哈)来对Samba 服务器进行图形化管理(这个软件包位于第三张 RHEL5安装光盘哈)。
[root@rhel52 /]# rpm -qa | grep samba
samba-client-3.0.23c-2
samba-3.0.23c-2
system-config-samba-1.2.39-1.el5
samba-common-3.0.23c-2
[root@rhel52 work]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
warning: xinetd-2.3.14-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                                                            (100%########################################### [100%]
   1:xinetd                                                             (  1%########################################### [100%]
[root@rhel52 work]# rpm -ivh samba-swat-3.0.23c-2.i386.rpm  
warning: samba-swat-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                                                            (100%########################################### [100%]
   1:samba-swat                                                         (  2%########################################### [100%]
[root@rhel52 work]#
[root@rhel52 work]# rpm -qa | grep samba
samba-client-3.0.23c-2
samba-swat-3.0.23c-2
samba-3.0.23c-2
system-config-samba-1.2.39-1.el5
samba-common-3.0.23c-2
[root@rhel52 work]#
 
【samba常规服务器配置】
①配置主配置文件smb.conf,指定共享的目录,以及为其设置权限。
②在smb.conf文件中指定日志文件名称和存放路径。
③设置共享目录的本地系统权限。
④添加samba用户信息以及登录密码
⑤重新加载配置文件或者重新启动smb服务,是配置生效。

-=①=-【配置sbm.conf】
[root@rhel52 /]# vim /etc/samba/smb.conf
260 [public]
261    path = /work
262    public = yes
263    only guest = yes
264    writable = yes
265    write list = @root
266    write list = loris
267    printable = no
268    valid users = @root
269    valid users = loris
270    readonly = no
271
272    comment= Share Directory of Loris by 2009/720 17:21
-=②=-【samba服务日志文件】
[root@rhel52 log]# tail -f /var/log/samba/smbd.log
记录用户访问samba 服务器的问题,以及服务器本身的错误信息,可以通过该文件获
得大部分的samba 维护信息。
[root@rhel52 log]# tail -f /var/log/samba/nmbd.log
记录 nmbd 进程的解析信息。

-=③=-【】
-=④=-【添加samba用户、密码信息到服务密码文件】
samba中的账户必须是linux中已经有的账户然后使用“sambapasswd -a 用户名”添加相应密码。
[root@rhel52 log]# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
samba密码文件在/etc/samba/smbpasswd 中
[root@rhel52 samba]# vim /etc/samba/smbpasswd
  1 root:0:DF7D4C80BE72A070AAD3B435B51404EE:B3A3496D3F61D8CDA3B865A2B4B29A37:[U          ]:LCT-4A643B02:
  2 loris:500:DF7D4C80BE72A070AAD3B435B51404EE:B3A3496D3F61D8CDA3B865A2B4B29A37:[U          ]:LCT-4A643B0B:
 
-=⑤=-【加载配置或重启samba服务】
启动和停止samba服务(加载)
service smb start 或 /etc/rc.d/init.d/smb start
service smb reload 或 /etc/rc.d/init.d/smb reload
[root@rhel52 samba]# service smb restart
Shutting down SMB services:                                [FAILED]
Shutting down NMB services:                                [FAILED]
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
设定自动加载samba 服务
[root@rhel52 samba]# chkconfig --list | grep smb
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@rhel52 samba]# chkconfig --level 35 smb on
[root@rhel52 samba]# chkconfig --list | grep smb
smb             0:off   1:off   2:off   3:on    4:off   5:on    6:off
[root@rhel52 samba]#
图形界面设定服务
在要加载的服务前面打”*“,否则就去掉”*“
[root@rhel52 samba]# ntsysv

【File Server -share匿名权限 跟踪实例配置】
在工作组Workgroup中添加samba服务器作为文件服务器。并发布/work,共享名为public,容许所有人访问。
①修改samba主配置文件smb.conf
[root@rhel52 samba]# vim smb.conf
 22 #======================= Global Settings ================================
    =====
 23 [global]
 24
 25 # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
 26 #   workgroup = MYGROUP
 27     workgroup = Workgroup【设置组名字】
 28
 29 # server string is the equivalent of the NT Description field
 30 #   server string = REHL52 Samba Server
 31     server string = File Server【设置注释】
 32
 33 # Security mode. Defines in which mode Samba will operate. Possible
 34 # values are share, user, server, domain and ads. Most people will want
 35 # user level security. See the Samba-HOWTO-Collection for details.
 36 #   security = user
 37     security = share 【设置容许匿名访问】      
 
263 [public]
264    comment= Share Directory of Loris by 2009/720 17:21
265    path = /work
      #【设置共享目录的绝对路径】
266    public = yes  
      #【设置容许匿名访问】
保存后退出
[root@rhel52 samba]# service smb reload
Reloading smb.conf file:                                   [  OK  ]
reload和restart 不同在于reload只是重导入配置,并不中断共享访问。
在PC IE 中输入
用户可以不输入密码访问资源。
【File Server -user权限 跟踪实例配置】
在公司companydata/sales/目录中只有sales部门(组)员工(sale1,sale2)能访问其人员不能访问。
①设置smb.conf全局配置中Security为user
②设置共享目录/companydata/sales下的valid user 字段为销售部分员工能访问。
a、建立销售部门账户并添加到samba账户中(samba密码均为samba)
[root@rhel52 work]# mkdir companydata
[root@rhel52 work]# cd companydata/
[root@rhel52 companydata]# mkdir sales
[root@rhel52 /]# ll /work/companydata/sales/
total 0
[root@rhel52 /]#
[root@rhel52 /]# groupadd sales
[root@rhel52 /]# useradd -g sales sale1
[root@rhel52 /]# passwd sale1
Changing password for user sale1.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@rhel52 /]# useradd -g sales sale2
[root@rhel52 /]# passwd sale2
Changing password for user sale2.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@rhel52 /]#
[root@rhel52 /]# smbpasswd -a sale1
New SMB password:
Retype new SMB password:
Added user sale1.
[root@rhel52 /]# smbpasswd -a sale2
New SMB password:
Retype new SMB password:
Added user sale2.
b、配置smb.conf
    security = user
    #【需要用户验证】
292 [sales]
293    comment= Only sales can use this foldar by 2009/7/20 23:35
294    path = /work/companydata/sales/
    #【设置绝对路径】
295 #  public = yes
296 #  browseable = no
297 #  only guest = yes
298 #  writable = yes
299 #  write list = @root
300 #  write list = loris
301 #  printable = no
302    valid users = @sales  
    #【设置是有sales组人员可以访问】
[root@rhel52 samba]# service smb reload
Reloading smb.conf file:                                   [  OK  ]
[root@rhel52 samba]#
c、配置映射登录账户到文件smbusers
配置smb.conf
 23 [global]
 24 # use smbusers mapping login user.
 25     username map = /etc/samba/smbusers
添加映射登录用户名s1、s2代替linux中的用户sale1、sale2
  1 # Unix_name = SMB_name1 SMB_name2 ...
  2 root = administrator admin
  3 nobody = guest pcguest smbguest
  4 sale1 = s1
  5 sale2 = s2
重启服务
[root@rhel52 samba]# service smb restart
Shutting down SMB services:                                [  OK  ]
Shutting down NMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
[root@rhel52 samba]#
【File Server -客户端访问控制 跟踪实例配置】
①字段使用
hosts allow 允许访问的客户端
hosts deny 禁止访问的客户端
同时出现时host allow生效,多个参数时中间用空格分开。
安全级别设置security = share
②IP地址访问控制
hosts deny = 192.168.0. 表示禁止所有来自192.168.0.0/24网段的IP访问。
hosts allow = 192.168.0.24 表示允许192.168.0.24这个机器访问。
③域名访问控制
[public]
  command = pulbic data
  path= /public
  pritable = yes
  hosts deny = .sale.com  .net  free
  表示不允许.sale.com域、.net域和free机器访问。
④通配符进行访问控制
hosts deny = All 表示所有客户端都不可以访问。(不是主机的名字是All)
hosts allow = boss 表示可以boss机器访问
⑤EXCEPT除去法限制
hosts allow = 192.168.0. EXCEPT 192.168.0.100 192.168.0.78表示192.168.0.0/24网络都可以,但是其中.100和.78的主机不能访问。
⑥hosts allow/deny作业范围
[global]中表示全局。
[目录中]表示仅对目录有效。
【设置samba的权限】
 
未完P123/553
阅读(478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~