Chinaunix首页 | 论坛 | 博客
  • 博客访问: 423730
  • 博文数量: 136
  • 博客积分: 5351
  • 博客等级: 少校
  • 技术积分: 1446
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-29 15:46
文章存档

2013年(2)

2012年(18)

2011年(116)

分类: LINUX

2011-06-03 12:43:15

    /etc/samba/
-rw-r--r--. 1 root root    20 Jun  3 11:53 lmhosts
-rw-r--r--. 1 root root  9778 Jun  1 20:28 smb-backup.conf
-rw-r--r--. 1 root root 10075 Jun  2 19:10 smb.conf
-rw-r--r--. 1 root root   118 Jun  2 19:06 smbusers



可以    #man    smb.conf      检测一下自己的英文



/etc/Samba/smb.conf

      这是Samba服务的主配置文件,由全局设置(Global Settings)和共享定义(Share Definitions)

    两部分组成无集结Samba服务器工作在下节将要介绍的哪种模式,都需要配置这个主配置文件。各种不

    同工作模式下的Samba 主配置文件的配置方法将在本章后面介绍。

/etc/Samba/lmhosts

       这个主机配置文件,提供了局域网内主机的NetBIOS名与IP地址的对应。此文件中每一行对应一个主机

   的IP地址和NetBIOS计算机名的记录。前面是主机的IP地址,后面是这个IP地址对应主机的NetBIOS名称,

   中间用空格分隔。为了使Linux系统主机能识别这种主机名,需要用户将局域网中的Windows NetBIOS主

   机名与IP地址的对应关系列入此文件中,一定要包括作为Samba服务器的Linux系统主机本身,因为Samba

   服务器就是依据这个配置文件来识别不同系统主机的。但是,通常在启动Samba服务进程时就能自动捕捉

   到 网络中相关IP地址对应的NetBIOS名,自动在lmhosts文件中添加这些映射关系,所以通常是不需要专门

   配置这个配置文件的。

/etc/Samba/smbpasswd

该配置文件又称Samba服务器的密码文件,用于工作在user模式下的Samba服务器配置中。此文件在Samba

服务安装后是不存在的,需要使用smbpasswd命令创建。由于Samba服务和Linux操作系统使用不同的密码

文件,因此Linux操作系统中的用户账户不能直接登录Samba 服务器,需要为Linux用户创建新的Samba用户

账号和密码。在管理员第一次使用smbpasswd命令创建Samba服务的账户时,会自动创建这个 smbpasswd

文件。smbpasswd命令的用法具体也将在本章后面介绍。

目前在最新版本的Linux系统核心中该文件改成为了/etc/Samba/passdb.tdb,以数据库方式存储,而不是以文

本的方式存储,提高了安全性。不过在此仍以/etc/Samba/smbpasswd为例进行介绍。

etc/Samba/smbusers

该配置文件又称Samba服务器的用户文件,也是用于工作在user模式下的Samba服务器配置的。此文件提供

了外部登录名与本地用户名的映射关系,使得访问Samba服务器的用户名与本地Linux系统账户没有一个完全

的一对一对应关系,有效地防止了使用访问Samba服务器的账户攻击 Linux系统主机的可能性。所谓用户映射

是指将用户在Windows或客户端Linux系统中的不同账户映射为一个Samba服务器的用户账户。映射后的

Windows账户或客户端Linux账户在连接Samba服务器时,就可以直接使用他们自己的账户(而不是直接使用

Samba服务器所在Linux系统的用户账户)进行访问了。

设置用户映射需要在Samba主配置文件smb.conf中进行修改,全局参数username map控制用户映射。通过

该参数指定一个映射文件,默认情况下,这个映射文件就是/etc/Samba/smbusers。因此,需要在smb.conf

文件中做如下设置:username map = /etc/samb/smbusers,记得将默认配置文件中该语句前面的注释符

号#去掉,然后编辑/etc/Samba/smbusers文件,将需要进行映射的用户添加到文件中。参数格式如下:

Linux系统用户账户 = 需要映射的Windows或Linux账户列表

一个Samba服务器所在Linux系统账户映射多个账户时,用户名间需要用空格分隔。也就是说,多个Windows

或客户端Linux系统用户账户可以映射为同一个Samba账户。例如:

   1. Samba = SMB_name1  SMB_name2  …)  
   2. root = administrator  admin  
   3. nobody = guest  pcguest  smbguest

有关etc/Samba/smbusers文件的配置也将在本章后面介绍。

/etc/Samba/secrets.tdb:存放Samba用户账户的加密密码。

Samba的用户认证主要通过/e/tc/Samba/smbpasswd和/etc /Samba/smbusers两个文件实现,其中

smbpasswd文件用于存放用smbpasswd -a命令将Linux本地账户生成的Samba账户和密码,而smhbusers

文件用于存放、设置Windows用户和Linux本地账户的映射,便于 Windows账户直接访问Samba服务器。

 Samba服务器的工作模式及设置

7.1.3  Samba服务器的工作模式及设置

在Samba主配置文件smb.conf中,一项重要的设置(security设置语句)就是Samba服务器的工作模式

(也称"安全级别")的设置。其实也就是Samba服务器与Windows服务器之间的5种协调工作方式。这5种

工作模式就是share、user、server、domain和 ads。下面分别介绍这5种工作模式的具体含义。

share(共享模式)

在这种模式下,用户对Samba服务器的访问无须进行身份验证,也就是不用输入用户名和密码(也就是允许

匿名访问)用户的访问权限仅由相应用户对共享文件的访问权限决定。这是最简单,但也是最不安全的一种

Samba服务器访问方式。除非是很小的网络,一般不这样设置。

如果要设置成该模式,在主配置文件smb.conf中只需要把security语句设置成以下格式即可:

   1. security = share

user(用户模式)

在这种模式下,用户对Samba服务器的访问是由Samba服务器依据本地账户数据库对访问用户进行身份验证

的,安全级别比share模式高一些。这就要求每个访问用户必须在Samba服务器上有它本地的Linux用户账户

(前面说了,多个Windows账户可以映射成一个Linux账户,可以在 /etc/smb/smbusers文件中配置),当然也

可以为各需要权限的用户在Samba服务器中新建相应的用户账户。这是Samba服务器的默认设置。

设置user工作模式时需要对smb.conf主配置文件按如下格式修改:

   1. security = user             # 设置工作模式为user  
   2. guest account = smb     # 指定来宾账户为Samba
      (当然可以是其他账户名称,也是需要正  
   3.     确输入账户名和密码的)。出于安全考虑,通常不直
      接采用guest作为来  
   4.     宾账户名。本语句需要新添加。如果不允许以来宾账户访问,则不用  
   5.     配置此语句。  
   6. encrypt passwords = yes     # 设置对认证过程
      中的用户口令进行加密。本语句也是需要新添加。  
   7. smb passwd file = /etc/Samba/smbpasswd  # 设
      置Samba服务器的密码文件名和路径。本语句也  
   8.                             # 需要新添加

当主配置文件smb.conf采用user模式设置后,需要设置Samba密码文件,建立smbpasswd文件中的用户账号

和口令,使其与/etc/passwd的账号和口令相同。

server(服务器模式)

在这种模式下,必须指定用于对Samba服务器中对共享文件进行访问的用户进行身份验证的服务器。这种

模式的用户访问是由其他专门的服务器对访问用户进行身份验证,安全级别又比user模式高一些。这个服务

器可以是Windows NT/2000/2003或其他Samba服务器。

Server模式与user模式其实是类似的,只不过实现身份验证的不是本地Samba服务器,而是网络中的其他

服务器。如果在指定的服务器上身份验证失败,则退到user安全级,采用本地Samba服务器对访问用户进行

身份验证。所以,从用户端来看,server模式和user模式没什么本质区别,只是用于身份验证的服务器的位

置不一样。

设置server模式时需要对smb.conf文件进行如下修改:

   1. security = server           # 设置工作模式为server  
   2. guest account = Samba   # 指定来宾账户为Samba
      (当然也可以是其他账户名称)。本语句需要新添加  
   3. password server = pwdserver     # 指定用于身
      份验证的服务器NetBIOS名称。本语句也需要新添加  
   4. encrypt passwords = yes     # 指定用户口令在验
      证过程中加密发送。本语句也需要新添加  
   5. smb passwd file = /etc/Samba/smbpasswd  #  
      设置密码文件名和路径。本语句也需要新添加

domain(域模式)

这种模式是把Samba服务器加入到Windows域网络中,作为域中的成员。但在这种模式中,担当用户对

Samba服务器的访问身份验证的是域中的PDC(主域控制器),而不是Samba服务器。采用这种模式时,

主配置文件smb.conf需要进行以下修改(同时要用"#"符号注释掉默认文件中的

smb passwd file=/etc/samba/smbpasswd语句):

   1. security = domain    # 设置工作模式为domain  
   2. workgroup = domain       # 指定Windows域名(NetBIOS格式)  
   3. password server = PDC_NAME   # 指定担当身
      份验证服务器的PDC的NetBIOS名称

ads(活动目录模式)

这是Linux系统Samba服务器的一种新工作模式(原来只有前4种),用于把Samba服务器加入到

Windows 2000 Server、Windows Server 2003活动目录域中,并具备活动目录域控制器的功能.

这时Samba服务器就相当于一台域控制器了,可以自己使用活动目录中的账户数据库对用户的访问进

行身份验证。

采用ads工作模式时,主配置文件smb.conf需要进行以下修改:

   1. security = ads      # 设置工作模式为ads  
   2. realm = MY_REALM    # 指定Windows域名(DNS格式)  
   3. ads server = ads_server     # 指定担当身份
      验证服务器的服务器DNS名称

阅读(2880) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~