您的位置: 网站首页 > 千军万马 > Linux操作系统 > 第9章 Samba服务器配置 > 【9.4 Samba服务器的安全级别】

9.4 Samba服务器的安全级别

 

9.4  Samba服务器的安全级别

Samba4种安全级,由参数security定义,该参数只能出现在[global]段中,是一个全局参数。这4种安全级是shareuserserverdomain,其中后三种属于安全模式(Security Mode),这里重点讨论shareuser安全级。

9.4.1  share安全级别

设置share安全级需要设定参数:

security = share

当客户机连接到一个share安全级的服务器时,它在连接共享之前,不需要首先提供正确的账号和密码就可以登录到服务器(虽然Windows 2003等客户机在连接share级服务器时会发出一个登录请求,该请求只包含账号)。相反的,客户机只有在连接特定的共享时才需提供密码。

注意:服务器总是使用有效的Fedora 6账号来提供服务,即使是工作在share安全级。

因为客户机并不向share级的服务器提供账号,所以服务器使用下面的技术来确定使用什么账号提供服务:

1)如果该共享包含“guest only =yes”参数,则使用“guest account=”参数指定的guest账号,忽略下面的步骤。

2)如果连接请求同时提供一个账号,那么该账号被认为是潜在的账号。

3如果客户机在此之前发出过登录请求,那么该请求包含的账号也被视为潜在的账号。

4)客户机请求连接的共享名被视为潜在账号。

5)客户机的NetBIOS名被视为潜在账号。

6)“user =”列表中的账号被视为潜在账号。

如果guest only参数为假,则检查所有的潜在账号,使用第一个和密码匹配的账号。如果guest only参数的值为yes,或者该共享允许使用guest account,则使用之,否则拒绝连接。可见,share服务器决定账号的过程是很复杂的。

9.4.2  user安全级别

设置user安全级需要设定参数:

security = user

这是Samba默认使用的安全级。使用user安全级时,服务器要求客户机首先以正确的账号和密码登录(可以对账号进行映射)“user = ”和“guest only”等可能改变用户身份的参数只有在用户成功登录之后才起作用。

注意:客户机请求连接的共享名只有在登录之后才传递给服务器,因此没有通过身份验证的用户无法访问任何共享(包括guest共享)。可以使用map to guest选项将未知用户映射为guest用户,以允许访问guest共享。

9.4.3  server安全级别

设置server安全级需要设定参数:

security = server

server安全级下,Samba使用远程SMB服务器(如Windows 2003服务器)进行身份验证。如果失败则自动切换到user安全级。对于客户机来说,server安全级和user安全级没有什么不同。

9.4.4  domain安全级别

设置domain安全级需要设定参数:

security = domain

要是用本模式,必须使用smbpasswd程序将Samba服务器加到一个Windows 2003域中,并且使用“加密口令(Encrypted Passwords)”。在本安全级下,Samba借助Windows 2003主控服务器(Windows 2003 Primary)或者是后备域控制器(Backup Domain Controller)进行身份验证,采取与Windows 2003服务器相同的行为。

9.4.5  shareuser安全级的比较

share安全级面向资源,用户每连接一个非guest共享都需要提供一个密码。如果主要提供guest共享,就应该使用share安全级。user安全级面向用户,用户登录后,就无须再为单独的共享提供密码,比较方便。如果用户在PC上的账号和在Fedora 6上的账号相同,那么使用user安全级是非常合适的。