Samba 4 的帐户锁定策略

Account lockout policy with Samba 4

我最近的任务是监督使用 Windows 和 Linux 机器的小型(<25 个用户)网络的管理。域控制器是 RHEL 6.4 机器 运行ning Samba 4.1.0 作为 ADDC。到目前为止,还不错。

我的任务之一是制定一项政策,如果用户输入密码错误 5 次,该政策将锁定用户帐户。管理层坚称此功能曾经有效,但已经几个月没有用了。在做了一些研究之后,我发现 pdbedit 应该能够做我想做的事。 运行 pdbedit -P "bad logon attempts" -C 5 似乎 运行 正确并通知我该值已更改为 5。但是,我重新启动域控制器并尝试锁定我的测试域帐户,它仍然允许我输入任意数量的错误密码,但仍然让我登录。

再进行一些谷歌搜索,我偶然发现了一个 samba-tool,它似乎可以做许多与 pdbedit 相同的事情。 运行 samba-tool domain passwordsettings show 显示了一些我可以操作的密码设置,例如 minimum password lengthmaximum password age 但没有关于锁定策略的内容。我将 maximum password age 属性从 60 天更改为 90 天,只是为了查看这些更改是否会自行显现,而它们确实如此。登录 linux 框提示我在比更改前多 30 天后更改密码。因此,该域似乎尊重 samba-tool 的密码设置,而不是 pdbedit.

现在我知道这两个实用程序都在同一个数据库中 "pointing"。 运行 samba-tool user listpdbedit -L 都显示相同的用户,使用一个实用程序添加用户会导致它显示在另一个实用程序中。

我已经用头撞墙 2 天了,试图让这个锁定政策生效。我是一名开发人员,所以我不太精通 samba 和一般的系统管理。谁能指出我正确的方向?

我的smb.conf,万一有帮助...

[global]
workgroup = LAB
realm = LAB.MY.COMPANY.NAME
# security = ads
netbios name = HOSTNAME
server role = active directory domain controller
idmap_ldp:use rfc2307 = yes
kerberos method = system keytab
name resolve order = host wins bcast
template shell = /bin/bash
dns forwarder = MY.DNS.IP.ADDRESS
log file = log.%m
log level = 1
winbind use default domain = yes
acl:search = no
client use spnego = no

passdb backend = tdbsam
idmap config * : range = 1000000-1999999
idmap config LAB : range = 100000000-199999999
idmap config LAB : default = yes
idmap config LAB : backend = rid

create mask = 0660
directory mask = 0770
force create mode = 0660

[all]

[my]

[shares]

我猜您只需要更新版本的 samba。我 运行 4.5.12 并且有来自 samba-tool 的锁定选项。

这里我使用的samba版本是4.7.6,正确的命令是:

sudo pdbedit -P "bad lockout attempt" -C 5  # (5 attempts)
sudo pdbedit -P "lockout duration" -C 1440  # (in minutes, for one day)