分类: 系统运维
2011-10-19 23:50:01
在Samba主配置文件smb.conf中,一项重要的设置(security设置语句)就是Samba服务器的工作模式(也称“安全级别”)的设置。其实也就是Samba服务器与Windows服务器之间的五种协调工作方式。这五种工作模式就是share、user、server、domain和ads。下面分别介绍这五种工作模式的具体含义。
l share(共享模式)
在这种模式下,用户对Samba服务器的访问无需进行身份验证,也就是不用输入用户名和密码(也就是允许匿名访问),用户的访问权限仅由相应用户对共享文件的访问权限决定。这是最简单,但也是最不安全的一种Samba服务器访问方式。除非是很小的网络,一般不这样设置。
如果要设置成该模式,在主配置文件smb.conf中只需要把security语句设置成以下格式即可:
security = share
l user(用户模式)
在这种模式下,用户对Samba服务器的访问是由Samba服务器依据本地账户数据库对访问用户进行身份验证的,安全级别比share模式高一些。这就要求每个访问用户必须在Samba服务器上有它本地的Linux用户账户(前面说了,多个Windows账户可以映射成一个Linux账户的,可以在/etc/smb/smbusers文件中配置),当然是可以为各需要权限的用户在Samba服务器新建相应的用户账户。这是Samba服务器的默认设置。
设置user工作模式时需要对smb.conf主配置文件按如格式修改:
security = user # 设置工作模式为user
guest account = smb # 指定来宾账户为Samba((当然可以是其他账户名称,也是需要正确输入账户名和密码的)。出于安全考虑通常不直接采用guest作为来宾账户名。本语句需要新添加。如果不允许以来宾账户访问,则不用配置此语句。
encrypt passwords = yes # 设置对认证过程中的用户口令进行加密。本语句也是需要新添加。
smb passwd file = /etc/Samba/smbpasswd # 设置Samba服务器的密码文件名和路径。本语句也是需要新添加。
当主配置文件smb.conf采用user模式设置后,需要设置Samba密码文件,建立smbpasswd文件中的用户帐号和口令,使其与/etc/passwd的帐号和口令相同。
l server(服务器模式)
在这种模式下,是必须指定用于对Samba服务器中共享文件进行访问的用户进行身份验证的服务器。这种模式的用户访问是由其他专门的服务器对访问用户进行身份验证,安全级别又比user模式高一些。这个服务器可以是Windows NT/2000/2003,或其他Samba服务器。
Server模式与user模式其实是类似的,只不过实验身份验证的不是本地Samba服务器,而是网络中的其他服务器。如果在指定的服务器上身份验证失败,就退到user安全级,采用本地Samba服务器对访问用户进行身份验证。所以,从用户端来看,serve模式和user模式没什么本质区别,只是用于身份验证的服务器的位置不一样。
设置server模式时需对smb.conf文件做如下修改
security = server # 设置工作模式为user
guest account = Samba # 指定来宾账户为Samba(当然可以是其他账户名称)。本语句需要新添加。
password server = pwdserver # 指定用于身份验证的服务器NetBIOS名称。本语句也需要新添加。
encrypt passwords = yes # 指定用户口令在验证过程中加密发送。本语句也需要新添加。
smb passwd file = /etc/Samba/smbpasswd # 设置密码文件名和路径。本语句也需要新添加。
l domain(域模式)
这种模式是把Samba服务器加入到Windows域网络中,作为域中的成员。但在这种模式中,担当用户对Samba服务器的访问身份验证的是域中的PDC(主域控制器),而不是Samba服务器。采用这种模式时,主配置文件smb.conf需做以下修改(同时要用“#”符号注释掉默认文件中的“smb passwd file=/etc/Samba/smbpasswd”语句。):
security = domain # 设置工作模式为domain
workgroup = domain # 指定Windows域名(NetBIOS格式)
password server = PDC_NAME # 指定担当身份验证服务器的PDC的NetBIOS名称
l ads(活动目录模式)
这是Linux系统Samba服务器的一种新工作模式(原来只有前四种),用于把Samba服务器加入到Windows 2000 Server、Windows Server 2003活动目录域中,并具备活动目录域控制器的功能。这时Samba服务器就相当于一台域控制器了,可以自己使用活动目录中的账户数据库对用户的访问进行身份验证。
采用ads工作模式时,主配置文件smb.conf需做以下修改:
security = ads # 设置工作模式为ads
realm = MY_REALM # 指定Windows域名(DNS格式)
ads server = ads_server # 指定担当身份验证服务器的服务器DNS名称