Greetings,
I have Samba 3.0.9 running on SuSE 9.2, 2.6.5-7.111-smp kernel. SAMBA is a
PDC using OpenLDAP as a passdb backend. Workstations are combination w2k
SP3, SP4, and Windows XP SP1.
The problem I have is with profile syncronization. If a user obtains a file
that has a blank modified time, Windows substitutes Jan 13, 2038 for the
date. When the user logs out, the file is copied to the share with the
modified date of Jan 13, 2038 AND a creation date of the same.
Normally, this wouldn't be a problem. However, when the user deletes the
file and logs out, the file isn't deleted from the share. This behavior is
of course because the date on the file is greater than the folder that
contains it. Windows then assumes that the file was created after the
current session was started so it merges with the rest of the profile.
Now, when the user logs in, that file is mysteriously back, causing a great
deal of confusion, frustration, paranoia, and eventually dementia for the
user and, now, the SAMBA administrator!
As an interesting side note, I discovered that any file with that date/time
stamp under Windows has a timestamp of Dec 13, 1901 under Linux. I suppose
that this is due to a '0' in that field being misinterpreted by Windows
as
1 second beyond the maximum possible date (Those familiar with binary math
using 2's complement know exactly what I'm talking about.)
Any suggestions?
smb.conf attached:
[global]
workgroup = XXXXXXXXXX
server string = "XXXXXXXXXX Primary Domain Controller"
null passwords = Yes
passdb backend = ldapsam:ldap://XXXXXXXXXX
log level = 1
syslog = 0
name resolve order = wins hosts bcast
time server = Yes
socket options = TCP_NODELAY SO_SNDBUF=65536 SO_RCVBUF=65536
IPTOS_LOWDELAY
show add printer wizard = No
add user script = /var/lib/samba/sbin/smbldap-useradd.pl -a -m
'%u'
delete user script = /var/lib/samba/sbin/smbldap-userdel.pl '%u'
add group script = /var/lib/samba/sbin/smbldap-groupadd.pl -p
'%g'
delete group script = /var/lib/samba/sbin/smbldap-groupdel.pl
'%g'
add user to group script = /var/lib/samba/sbin/smbldap-groupmod.pl
-m '%u' '%g'
delete user from group script
= /var/lib/samba/sbin/smbldap-groupmod.pl-x '%u' '%g'
set primary group script = /var/lib/samba/sbin/smbldap-usermod.pl -g
'%g' '%u'
add machine script = /var/lib/samba/sbin/smbldap-useradd.pl -w
'%u'
logon script = netlogon.cmd
logon path = \\XXXXXXXXXX\profiles\%U
logon home = \\XXXXXXXXXX\profiles\%U
domain logons = Yes
os level = 75
preferred master = Yes
domain master = Yes
wins support = Yes
ldap admin dn = cn=Manager,XXXXXXXXXX
ldap group suffix = ou=group
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=people
ldap suffix = dc=XXXXXXXXXX
ldap user suffix = ou=people
idmap backend = ldap://XXXXXXXXXX
idmap uid = 10000-20000
idmap gid = 10000-20000
profile acls = Yes
map acl inherit = Yes
[netlogon]
comment = "Net logon share"
path = /netlogon
write list = root
[profiles]
comment = "Roaming profile share"
path = /profiles
read only = No
hide files = /desktop.ini/Desktop.ini/DESKTOP.INI/
Yes, I'm aware that all those X's might be a problem - no they're
not
actually in the file!