I am trying to upgrade a samba installation from 2.2.7 to 3.0.9
and I have statements like:
include = /etc/samba/special/%U
This works fine with 2.2.7, but fails with 3.0.[4679].
When I first connect I see the user-specific shares defined in the
config file. However, if I try to access it, I get an error:
\\carp\sharename
The network name cannot be found.
If I browse into a common directory, that works. When I return
to the top of the tree, the user specific entries have disappeared.
If I look at the logs, I see it trying to access "special/gaa"
the first time, then it tries "special/" every other time.
I remember this was a problem along about 2.2.4 only with Windows 2k.
It worked fine with Windows NT and Win9x. However, back then it
tried to access "special/unknown". I kludged around it by
creating a master config file by that name which was the concatenation
of all the user specific config files. This results in a huge list
of shares that gets our users confused so I don't want to do the same
thing again. Besides, I can't have a directory _and_ a file with
the same name.
Just in case, I tried it also with:
include = /etc/samba/special/%u
as I am not sure when one uses %U vs. %u. That fails even on the first
access, so that must not be it.
Did the fix for 2.2.* not make it into 3.0.*?
As an alternative, is there a way to make shares only show if the user has
at least read access? Then I would not need to create these special files
and I would be able to let standard ACLS or other permissions mechanisms
control the visibility.
--
Gary Algier, WB2FWZ gaa at ulticom.com +1 856 787 2758
Ulticom Inc., 1020 Briggs Rd, Mt. Laurel, NJ 08054 Fax:+1 856 866 2033
Nielsen's First Law of Computer Manuals:
People don't read documentation voluntarily.