Mail Archives: cygwin/2005/06/08/12:02:14
On Jun 7 19:06, Tim Hart wrote:
>> having the same home directory path. I can use a few pattern matching tools
>> to filter out the appropriate domain users and modify /etc/passwd
>> accordingly. Obviously mkpasswd needs to be updated in order to produce
>> correct home directory entries (possibly a unique format for Windows XP?).
>The information returned by Windows is used unchanged. There should be
>no need for some special handling.
In this case mkpasswd isn't using any information returned by Windows other than the homeroot
prefix.
The full command ( for reference ), is
mkpasswd -d -l -p "$(cygpath -H)" > /etc/passwd
mkpasswd -d -l is returning information on two different users: the local TJHart and
CORPORATE\TJHart.
mkpasswd is, on it's own (without Windows help at all)appending the user name to that path in order
to define a unique home directory for each user at the path indicated by the -p switch. In this
case, cygpath -H returns
/cygdrive/c/Documents and Settings.
Unfortunately, mkpasswd's scheme doesn't guarantee unique paths for each user. If there was a TJHart
in the SFO domain, then they, too would be mapped to the SAME home directory according to mkpasswd's
scheme.
TJHART gets mapped to /cygdrive/c/Documents and Settings/TJHART (local user)
CORPORATE\TJHART also gets mapped to /cygdrive/c/Documents and Settings/TJHART
SFO\TJHART also gets mapped to /cygdrive/c/Documents and Settings/TJHART
Unfortunately these users are NOT the same user and shouldn't, by default, be mapped to the same
home directory.
Windows creates a unique home directory for the user the first time they log into the machine. I do
not know if the user's domain is appended to the home directory name in every case, or only in cases
of conflict. I do know that my machine is used by 2 distinct users: a local TJHART, and a
CORPORATE\TJHART. Windows accomodates local storage for these 2 users by creating 2 distinct home
directories:
/cygdrive/c/Documents and Settings/TJHART (local TJHART)
/cygdrive/c/Documents and Settings/TJHART.CORPORATE (CORPORATE\TJHART)
Since the goal of mkpasswd is to simplify creation of the passwd file for the cygwin environment,
then I would expect that default behavior should be to map each user retreived to a unique
directory. Ideally, I would hope that this directory would be the same one that the Windows
operating system would use. When you omit the -p command, then mkpasswd's behavior is exactly
correct. However, with the '-p' option,the user name without the domain isn't sufficiently unique to
guarantee unique home directories for every user with permission to access a particular machine.
Modification of the file for the exception is certainly possible, but shouldn't be necessary for the general case.
Perhaps the -p switch isn't the right utility for this problem. There is no option in mkpasswd to
append a suffix to the home directory path, which is what Windows does. Possibly another
command-line switch to indicate that the user's HOMEPATH should be used for the home directory
instead of the indicated HOME? I've been unable to find any cygwin utilities that provide such a
complete path for a user other than the current one. Even if I had, mkpasswd only offers me the possibility of providing a prefix, not the entire home directory path.
>> Perhaps the cygwin routine producing the error could provide some more useful information in the
>future? Such as the fact that a network resource wasn't found - and the name of the resource?
>No, no, you got that wrong. The error message you saw (WFMO, blah) is
>actually indicating a bug in Cygwin. You should get something like
>"file not found" or so, but certainly not this WFMO message you saw,
>which is only meaningful to Cygwin developers.
Do you need additional information for this particular part of the problem?
Tim
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -