[Samba] Roaming Profiles with Samba PDC

Scott Millhisler sjmlistread at sjm.net
Fri Mar 14 00:16:43 GMT 2003


I thought it would be a good idea to follow up with how I came out with my problem of getting Samba configured correctly as a PDC.

While I hate to admit it publicly, the main stumbling block in my attempts to get Samba working correctly was my lack of understanding on how Samba shares are handled.  For whatever reason I read about them over and over but never looked at their usage correctly, especially when assigning a value to one of the path parameters.  With that key piece of understanding missing I was not setting up the directory structure correctly.

A good example of this is the Profiles share.  Wherever the logon path pointed to the profiles share I would always want to create a directory to match how the logon path appeared.  Therefore if the logon path appeared as: 

	logon path = \\%L\profiles

I would view that as needing to have a directory of the root of my server called "profiles", as opposed to that referring to the path of the profiles share.  Of course I knew that there was a share defined as "profiles" but somehow I thought that either Windows or Samba was referring to that by some other means.  It sound stupid now but it made sense that the time!  :-)

Anyway, I have it working now and it is all making perfect sense.  Thank you for all of your help.

Scott Millhisler
SJM Computer Consulting -- Perry, Michigan

---------- Original Message ----------------------------------
From: John H Terpstra <jht at samba.org>
Date:  Tue, 11 Mar 2003 05:38:25 +0000 (GMT)

>On Mon, 10 Mar 2003, Scott Millhisler wrote:
>> First of all, I would like to thank you for your prompt reply.
>> Unfortunately you lost me on a couple of issues and I am hoping that you can clarify them.
>> We exchanged:
>> >> # User profile path
>> >>   logon path = \\%N\home\%u\ntprofile
>> >
>> >Suggest you try:
>> >
>> >	logon path = \\%L\home\%U\ntprofile
>> >
>> >Make absolutely sure that the directory 'ntprofile' exists (and is
>> >writable) - BEFORE - the uyser logs on.
>> >
>> >A MUCH better suggestion is to put profiles in a 'profiles' share, that is
>> >the way it is done in MS Windows land. It allows you to set more suitable
>> >smb.conf parameters for profile handling for the shared resource for which
>> >it may be needed.
>> >
>> >In this case you would have a share like:
>> >
>> >[Profiles]
>> >        comment = Roaming Profile Share
>> >        path = /var/lib/samba/profiles
>> >        read only = No
>> >        profile acls = Yes
>> >
>> >and the following to match it:
>> >
>> >        logon path = \\%L\Profiles\%U
>> In this exchange you indicate that it would be better to have a
>> 'profiles' share, contrasting it to my global definition of logon path.
>> I am not sure if you saw it or not, but in my original message it was a
>> profiles share defined at the end.  It did differ from yours in that the
>> path pointed to the science have used in the global area.
>Your logon path directs that profiles into the users' home directory into
>a subdirectory called "ntprofile".
>Your original profiles share will thus not be used at all.
>> I created a profiles directory under the samba directory as indicated
>> above.  Do I need to create subdirectories in that profiles directory
>> for all of the users before they logon or will Windows create the
>> subdirectories as needed during a user's first logon?
>Yes. You need to create those directories so that Samba can store the
>profiles. In the absence of the proper directory the profile will not be
>written to your profiles share.
>> Also, you wrote to set my logon path to \\%L\Profiles\%U to match 'it'.
>> What 'it' are you referring to?  Should this logon path the set in the
>> profiles share definitions or the global, thus replacing the one I have
>> there now?  I currently do not have a profiles directory off of root,
>> which is where I assume that would be referring to, but I can certainly
>> create one.  Either that, or do I totally misunderstand the usage of %L?
>Your "logon path" settings need to match a storage are within your Samba
>server file system. The 'it' refers to the "Profiles" share settings I
>gave you.
>In my case I store profiles under /var/lib/samba/profiles/'username'
>The %U translates to the 'username'.
>The %L is a macro that translates to the name be which you refer to the
>samba server. So if your samba server is called 'FRED" and "logon path =
>\\%L\Profiles\%U" and you access the Samba server by the name "FRED" then
>it will map to \\FRED\Profiles\'username'. Thus if your username is
>'jbloggs', the full profile path will be: \\FRED\Profiles\jbloggs.
>Given my path statement in the [Profiles] definition this will result in
>the files being written to (or read from):
>	/var/lib/samba/profiles/jbloggs
>Does that clear the air now?
>- John T.
>John H Terpstra
>Email: jht at samba.org

More information about the samba mailing list