I am at my wits end on this one. Ever since I upgraded to samba3x
(present version 3.5.10-0.110.el5_8) in preparation for adding a Win 7
client, my WinXP client can no longer find their roaming profiles nor
can they assign their home shares to a drive at login. Logins and
authentication work just fine and I can see the home and profile shares
from the Win XP client after login. My smb.conf file contains (here are
some essential snippets):
# the login script name depends on the machine name
; logon script = %m.bat
# the login script name depends on the unix user used
; logon script = %u.bat
logon script = logon.bat
# disables profiles support by specifing an empty path
; logon path logon path = \\%L\profile\%u\%m
logon home = \\%L\%u
logon drive = H:
[homes]
path = /mnt/home/%u
comment = Home Directories
browseable = no
writable = yes
valid users = %S
guest ok = no
inherit permissions = yes
[profile]
path = /mnt/home/profile
browseable = no
writeable = yes
default case = lower
preserve case = no
short preserve case = no
case sensitive = no
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
write list = @smbusers @smbadmins
create mask = 0600
directory mask = 0700
csc policy = disable
profile acls = yes
I enabled debuging and from what I can tell the %u variable is not
getting properly evaluated. For example for the homes share:
[2012/08/01 00:28:19.471215, 3] smbd/password.c:282(register_existing_vuid)
register_existing_vuid: User name: snichols Real name:
[2012/08/01 00:28:19.471240, 3] smbd/password.c:292(register_existing_vuid)
register_existing_vuid: UNIX uid 501 is UNIX user snichols, and will
be vuid 102
[2012/08/01 00:28:19.472336, 3] smbd/password.c:223(register_homes_share)
Adding homes service for user 'snichols' using home directory:
'/mnt/home/snichols'
[2012/08/01 00:28:19.472475, 3] param/loadparm.c:6287(lp_add_home)
adding home's share [snichols] for user 'snichols' at
'/mnt/home/%u'
Or for the profile service:
2012/08/01 00:28:19.488457, 1] smbd/service.c:1070(make_connection_snum)
sasha (192.168.1.13) connect to service profile initially as user
snichols (uid=501, gid=501) (pid 25876
2012/08/01 00:28:19.489251, 3] smbd/trans2.c:5100(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
[2012/08/01 00:28:19.489364, 3]
smbd/filename.c:945(get_real_filename_full_scan)
scan dir didn't open dir [%u]
[2012/08/01 00:28:19.489399, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [%u/sasha] [/mnt/home/profile]
[2012/08/01 00:28:19.489437, 3] smbd/vfs.c:962(check_reduced_name)
check_reduced_name: couldn't get realpath for %u/sasha
[2012/08/01 00:28:19.489463, 3] smbd/filename.c:1184(filename_convert)
filename_convert: check_name failed for name %u/sasha with
NT_STATUS_ACCESS_DENIED
[2012/08/01 00:28:19.489495, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/trans2.c(5129) cmd=50 (SMBtrans2)
NT_STATUS_ACCESS_DENIED
The samba/linux user that successfully logged in is snichols. Does
anybody have a clue as to why %u is not evaluating to the linux username
snichols and is getting treated simply as the string %u? I am sure it is
something to stupid, but damn if I can see it.
--
Paul (ganci at nurdog.com)