当在 Samba 中禁用密码加密时,身份验证由 AIX 执行。只有在启用密码加密的情况下,才会进行 Samba 身份验证。
在 smb.conf 中添加以下配置:
[global]
password encryption = no
在 AIX 中创建一个在 Samba 中不存在的用户。如果在 Windows 客户机中使用此用户连接一个驱动器,就会发现是由 AIX 对用户进行身份验证。现在,在 smb.conf 中做以下修改:
[global]
password encryption = no
尝试连接以上用户。此操作应该会失败,错误消息指出此用户不存在。
这表明,当禁用加密时,由 AIX 对用户进行身份验证。当启用密码加密时,由 Samba 执行身份验证,也就是上面的第二种情况。
MSDFS 特性
MSDFS 允许把多个文件服务器无缝地集成在同一个逻辑名称空间中,这会产生以下结果:
可以跨多个文件服务器使用单一驱动器映射,这些服务器可以分散在整个网络中。
可以把多个文件服务器映射到同一个名称,从而为数据访问提供冗余和位置。
把复杂的逻辑和物理拓扑显示为单一目录树(驱动器映射),其中的子目录实际上可能位于远程服务器。
MSDFS 被组织为 MSDFS 根文件共享的拓扑,其中可以包含指向其他本地或远程文件共享的 MSDFS 链接。这些 MSDFS 链接显示为子目录,所以只要在远程服务器上正确地验证用户的身份,就会透明地重定向到远程文件共享。(Windows 客户机软件管理 MSDFS 重定向和远程服务器身份验证)。
要想在 Samba 中使用此特性,应该在 smb.conf 文件中指定 MSDFS 根。
[global]
host msdfs = yes
security = user
[tmp]
path = /tmp
msdfs root = yes
public = yes
用以下配置链接到 DFS 根:
cd /tmp
ln -s msdfs:beas.in.ibm.com\\radhika t1
这里的 beas.in.ibm.com\\radhika 是一个共享,beas 也运行 Samba,并在编译时采用 --with-msdfs 选项。如果从 Windows 客户机映射 tmp 共享,那么可以访问 t1 的目录。因此,此特性使用户可以从 DFS 根访问共享的目录。
ACL 支持
Samba 支持 AIXC 和 NFSv4 ACL。下面介绍在 Samba 中使用 NFSv4 ACL 的配置细节。
用 v2=extended attribute /samba 创建一个新的文件系统。检查文件系统支持的 ACL 类型:
# aclgettypes /samba
Supported ACL types are:
AIXC
NFS4
创建新文件 test1.txt 并检查此文件的 ACL:
# aclget test1.txt
*
* ACL_type AIXC
*
attributes:
base permissions
owner(root): rw-
group(system): r--
others: r--
extended permissions
enabled
如果禁用了 extended permissions,那么启用它。把 test1.txt 的 ACL 类型转换为 NFS4:
# aclconvert -t NFS4 test1.txt
查看 test1.txt 的 ACL:
# aclget test1.txt
*
* ACL_type NFS4
*
*
* Owner: root
* Group: system
*
s:(OWNER@): a rwpRWaAdcCs
s:(OWNER@): d xo
s:(GROUP@): a rRadcs
s:(GROUP@): d wpWxACo
s:(EVERYONE@): a rRadcs
s:(EVERYONE@): d wpWxACo
Include a new share for the created filesystem in smb.conf:
[samba]
path = /samba
public = yes
在 UNIX 权限和 NFS4 ACL 之间没有固定的映射。因此,如果对比 NFSv4 ACL 和 ls –l 列表中的权限,可能会产生误解。
在 Windows 客户机上使用用户 "john"(他属于 system 组)映射一个驱动器。在 /samba 中创建一个新文件。因为对于这个组拒绝删除操作(D),所以服务器不允许删除此文件。