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