Active Directory 支持
如果 Windows 上安装了 Active Directory (AD) 服务器,那么可以把 Samba 配置为把所有连接转发给 Active Directory 服务器以执行身份验证。
可以按以下方式实现这种身份验证。
在 AD 和 Samba 中创建用户 rocky 并设置不同的密码。假设 AD 安装在 Windows 客户机 9.124.101.235 上。按以下方法配置 smb.conf:
[global]
WORKGROUP = mygroup
security = server
password server = 9.124.101.235
[tmp]
path = /tmp
msdfs root = yes
public = yes
[rocky]
path = /home/rocky
public = yes
映射为使用两个不同密码的用户 rocky(分别针对 Samba 和 AD)。两者都会通过身份验证。
多用户登录
多用户登录功能允许多个客户机通过同一个服务器连接访问共享资源。
为了测试此功能,在一台 Windows 计算机上安装 Windows Terminal Server。重新引导此计算机。把一个驱动器映射到 Samba 服务器。从另一个客户机通过 Remote Desktop 服务连接这台 Windows 计算机。
应该能够看到并访问映射的驱动器,不会出现密码提示。只需登录此计算机即可。
应该只在映射的客户机和 Samba 服务器之间出现交互。在与 Samba 服务器交互时,任何地方都不会出现第二个客户机的 IP。
访客登录
通过在 smb.conf 中设置以下参数,可以启用访客登录:
[global]
security = user
guest ok = yes
可以为错误的密码或错误的用户名实现访客帐户。如果选项是 bad password,那么可以用所有密码或空密码登录服务器。如果选项是 bad user,只能用错误的用户名登录,而不能使用 Samba 登录。设置方法如下:
[global]
map to guest = Bad user
分配给访客登录的用户由 guest account 参数表示:
[global]
guest account = mary
用户名映射
Samba 允许为共享文件或打印机指定用户或权限。
在共享的定义中可以使用以下选项:
##force permissions on files created on a share
create mask = 0777
##force permissions on directories created on a share
directory mask = 0444
## force user and group for files and directories created on a share
force user = root (username)
force group = system (groupname)
用具有读/写权限的任何其他用户(非根用户)把一个 Windows 客户机驱动器连接到这个共享,创建一个新文件。检查在共享中创建的文件的权限。新文件应该具有 root 和 system 的权限。
要想只允许特定的用户读/写共享,应该在 smb.conf 中使用以下配置:
[tmp]
path = /tmp
writable = no
write list = root
read list = root