[Samba] samba 3.0.x / roaming profiles / NT MD4 problems
Wim Vandersmissen
wim at bofh.be
Sat Apr 10 21:12:31 GMT 2004
Hi,
I'm setting up a new sambserver, migrating from 2.2.8a with ldap backend
to 3.0.x (3.0.2a and 3.0.3pre2 tested) with openldap 2.1.26 backend and
using sambaSamAccount
I'm experiencing the following problem:
- Roaming profiles sometimes work, sometimes not (most of the time not)
and show erratic behaviour like removing the local copy (without having
the DeleteRoamingCache key in my registry) on a windows XP with SP1
joined to the domain
I think I've pinpointed the problem to NT MD4 password checking
(libsmb/ntlm_check.c:ntlm_password_check(322))
With debug on 100 and DEBUG_PASSWORD on it shows the following:
[2004/04/10 22:23:49, 4] libsmb/ntlm_check.c:ntlm_password_check(322)
ntlm_password_check: Checking NT MD4 password
[2004/04/10 22:23:49, 100] libsmb/ntlm_check.c:smb_pwd_check_ntlmv1(67)
Part password (P16) was |
[2004/04/10 22:23:49, 100] lib/util.c:dump_data(1864)
[000] AB A4 5E 23 42 B3 27 7E 03 0C DB 4F 97 48 B6 0E ..^#B.'~ ...O.H..
Password from client was |
[2004/04/10 22:23:49, 100] lib/util.c:dump_data(1864)
[000] 22 63 62 8E 2A BD 54 16 D1 0F EE 6C 0F B5 F7 46 "cb.*.T. ...l...F
[010] 4E BB D2 52 74 EB B2 09 N..Rt...
Given challenge was |
[2004/04/10 22:23:49, 100] lib/util.c:dump_data(1864)
[000] CE 8D D3 56 F8 7E 7D 7A ...V.~}z
Value from encryption was |
[2004/04/10 22:23:49, 100] lib/util.c:dump_data(1864)
[000] 22 63 62 8E 2A BD 54 16 D1 0F EE 6C 0F B5 F7 46 "cb.*.T. ...l...F
[010] 4E BB D2 52 74 EB B2 09 N..Rt...
[2004/04/10 22:23:49, 4] auth/auth_sam.c:sam_account_ok(82)
sam_account_ok: Checking SMB password for user testing
It does that 3 times correctly, I guess it checks the authentication
when the user logs on. Now a minute later it checks again, I guess for
connecting to the profiles share? but now it fails. What results in
Windows XP telling me that it can't find the profiles directory.
[2004/04/10 22:25:22, 4] libsmb/ntlm_check.c:ntlm_password_check(322)
ntlm_password_check: Checking NT MD4 password
[2004/04/10 22:25:22, 100] libsmb/ntlm_check.c:smb_pwd_check_ntlmv1(67)
Part password (P16) was |
[2004/04/10 22:25:22, 100] lib/util.c:dump_data(1864)
[000] AB A4 5E 23 42 B3 27 7E 03 0C DB 4F 97 48 B6 0E ..^#B.'~ ...O.H..
Password from client was |
[2004/04/10 22:25:22, 100] lib/util.c:dump_data(1864)
[000] EE 15 48 95 A2 6C D6 7A 14 C7 00 85 FE 20 D9 92 ..H..l.z ..... ..
[010] B4 D0 21 FC F0 FB 7D 61 ..!...}a
Given challenge was |
[2004/04/10 22:25:22, 100] lib/util.c:dump_data(1864)
[000] EC F9 F7 3E EE 20 47 E5 ...>. G.
Value from encryption was |
[2004/04/10 22:25:22, 100] lib/util.c:dump_data(1864)
[000] E7 DE 31 72 F0 E2 E1 97 40 2B 15 86 CA 4E 2A 4F ..1r.... @+...N*O
[010] 1D 32 DD 66 AC EA 8B 3C .2.f...<
[2004/04/10 22:25:22, 3] libsmb/ntlm_check.c:ntlm_password_check(338)
ntlm_password_check: NT MD4 password check failed for user testing
When I edit libsmb/ntlm_check.c to always return a NT_STATUS_OK instead
of a NT_STATUS_WRONG_PASSWORD the last check ofcourse works and the
roaming profiles work perfectly. (but that isn't very secure ;)
This is my current config, but I've used various mutations of it without
success ;)
Please let me know if you need any more information.
Thanks,
--Wim Vandersmissen
# Global parameters
[global]
dos charset = CP850
unix charset = UTF-8
display charset = LOCALE
workgroup = THEONEW
netbios name = OROCHIMARU
netbios aliases =
netbios scope =
server string = %h
interfaces =
bind interfaces only = No
security = USER
auth methods =
encrypt passwords = Yes
update encrypted = No
client schannel = Auto
server schannel = Auto
allow trusted domains = Yes
hosts equiv =
min passwd length = 5
use cracklib = No
map to guest = Bad Password
null passwords = No
obey pam restrictions = No
password server = *
smb passwd file = /usr/local/samba/private/smbpasswd
private dir = /usr/local/samba/private
passdb backend = ldapsam:ldap://localhost
algorithmic rid base = 1000
root directory =
guest account = nobody
pam password change = No
passwd program =
passwd chat = *new*password* %n\n *new*password* %n\n *changed*
passwd chat debug = No
passwd chat timeout = 2
username map =
password level = 0
username level = 0
unix password sync = No
restrict anonymous = 0
lanman auth = Yes
ntlm auth = Yes
client NTLMv2 auth = No
client lanman auth = Yes
client plaintext auth = Yes
preload modules =
log level = 100
syslog = 1
syslog only = No
log file = /var/log/samba/inverse/%m.log
max log size = 50000
timestamp logs = Yes
debug hires timestamp = No
debug pid = No
debug uid = No
smb ports = 445 139
protocol = NT1
large readwrite = Yes
max protocol = NT1
min protocol = CORE
read bmpx = No
read raw = Yes
write raw = Yes
disable netbios = No
acl compatibility =
nt pipe support = Yes
nt status support = Yes
announce version = 4.9
announce as = NT
max mux = 50
max xmit = 16644
name resolve order = lmhosts wins host bcast
max ttl = 259200
max wins ttl = 518400
min wins ttl = 21600
time server = No
unix extensions = Yes
use spnego = Yes
client signing = auto
server signing = No
client use spnego = No
change notify timeout = 60
deadtime = 0
getwd cache = Yes
keepalive = 300
kernel change notify = Yes
lpq cache time = 10
max smbd processes = 0
paranoid server security = Yes
max disk size = 0
max open files = 10000
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=4096
SO_RCVBUF=4096
use mmap = Yes
hostname lookups = No
name cache timeout = 660
load printers = Yes
printcap name = cups
disable spoolss = No
enumports command =
addprinter command =
deleteprinter command =
show add printer wizard = Yes
os2 driver map =
mangling method = hash2
mangle prefix = 1
stat cache = Yes
machine password timeout = 604800
add user script =
delete user script =
add group script =
delete group script =
add user to group script =
delete user from group script =
set primary group script =
add machine script =
shutdown script =
abort shutdown script =
logon script =
logon path = \\%L\profiles\%U
logon drive =
logon home = \\%N\%U
domain logons = Yes
os level = 66
lm announce = Auto
lm interval = 60
preferred master = Yes
local master = Yes
domain master = Yes
browse list = Yes
enhanced browsing = Yes
dns proxy = Yes
wins proxy = No
wins server =
wins support = No
wins hook =
wins partners =
kernel oplocks = Yes
lock spin count = 3
lock spin time = 10
oplock break wait time = 0
ldap suffix = "ou=people,dc=theo,dc=be"
ldap machine suffix =
ldap user suffix =
ldap group suffix =
ldap idmap suffix =
ldap filter = "(&(uid=%u)(objectclass=sambaSamAccount))
ldap admin dn = "cn=root,dc=theo,dc=be"
ldap ssl =
ldap passwd sync = no
ldap delete dn = No
ldap replication sleep = 1000
add share command =
change share command =
delete share command =
config file =
preload =
lock directory = /usr/local/samba/var/locks
pid directory = /usr/local/samba/var/locks
utmp directory =
wtmp directory =
utmp = No
default service =
message command =
dfree command =
get quota command =
set quota command =
remote announce =
remote browse sync =
socket address = 0.0.0.0
homedir map =
afs username map =
time offset = 0
NIS homedir = No
panic action =
host msdfs = No
enable rid algorithm = Yes
idmap backend =
idmap uid =
idmap gid =
template primary group = nobody
template homedir = /home/%D/%U
template shell = /bin/false
winbind separator = \
winbind cache time = 300
winbind enable local accounts = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = No
winbind trusted domains only = No
comment =
path =
username =
invalid users =
valid users =
admin users =
read list =
write list =
printer admin = root
force user =
force group =
read only = Yes
create mask = 0744
force create mode = 00
security mask = 0777
force security mode = 00
directory mask = 0755
force directory mode = 00
directory security mask = 0777
force directory security mode = 00
inherit permissions = No
inherit acls = No
guest only = No
guest ok = No
only user = No
hosts allow =
hosts deny =
ea support = No
nt acl support = Yes
profile acls = No
map acl inherit = No
afs share = No
block size = 1024
max connections = 0
min print space = 0
strict allocate = No
strict sync = No
sync always = No
use sendfile = No
write cache size = 0
max reported print jobs = 0
max print jobs = 1000
printable = No
printing = cups
print command =
lpq command =
lprm command =
lppause command =
lpresume command =
queuepause command =
queueresume command =
printer name =
use client driver = No
default devmode = No
default case = lower
case sensitive = No
preserve case = Yes
short preserve case = Yes
mangle case = No
mangling char = ~
hide dot files = Yes
hide special files = No
hide unreadable = No
hide unwriteable files = No
delete veto files = No
veto files =
hide files = /desktop.ini/Desktop.ini/
veto oplock files =
map system = No
map hidden = No
map archive = Yes
mangled names = Yes
mangled map =
store dos attributes = No
browseable = Yes
blocking locks = Yes
csc policy = manual
fake oplocks = No
locking = Yes
oplocks = Yes
level2 oplocks = Yes
oplock contention limit = 2
posix locking = Yes
strict locking = Yes
share modes = Yes
copy =
include =
exec =
preexec close = No
postexec =
root preexec =
root preexec close = No
root postexec =
available = Yes
volume =
fstype = NTFS
set directory = No
wide links = Yes
follow symlinks = Yes
dont descend =
magic script =
magic output =
delete readonly = No
dos filemode = No
dos filetimes = No
dos filetime resolution = No
fake directory create times = No
vfs objects =
msdfs root = No
msdfs proxy =
[profiles]
path = /mnt/theo/profiles/
read only = No
profile acls = Yes
browseable = No
More information about the samba
mailing list