Christian Franke Christian.Franke@t-online.de
Mon Nov 10 19:21:00 GMT 2014

Corinna Vinschen wrote:
> On Nov  7 21:51, Christian Franke wrote:
>> Corinna Vinschen wrote:
>>>>> In theory there should be only one option -l [machine], which prints the
>>>>> local accounts of the current machine unprefixed (standalone machine) or
>>>>> prefixed (domain machine), and always prefixed for a foreign machine.
>>>>> The -L option can just go away.
>>>> I disgree.
>>>> Why not keep the old behavior of -l/-L for user names of current machine for
>>>> those uses cases which rely on it?
>>> You are always free to change the passwd/group files manually:
>>>    $ mkpasswd -l | sed -e 's/^[^:]*+//' > /etc/passwd
>> Of course, and it is good that this is still possible. But this would
>> require that all existing scripts relying on old behavior need to be
>> changed.
>> I still don't understand why this backward compatibility break of "mkpasswd
>> -l" was mandatory.
>> Most *-config scripts using "mkpasswd -l -u USER" may need to be changed.
> Definitely.  The change is inevitable since most scripts using mkpasswd
> or mkgroup do so to create entries in /etc/passwd and /etc/group.  But
> this doesn't make sense anymore, or if so, only marginally so.


What will be the behavior of the predecessor of e.g. the csih function 
csih_create_unprivileged_user if called with USER without HOST prefix, 
machine is inside of domain and the user does not exist:
- create local windows USER and require the config script to retrieve 
the actual Cygwin HOST+USER name,
- fail and tell the calling config script to retry with HOST+USER 
instead (if possible),
- create local windows USER and create a /etc/passwd entry to support a 
non-prefixed Cygwin USER in this case,
- one of the above, selected by a new option.
- ...

>> Local scripts from Cygwin users which use "mkpasswd -l" may need to be
>> changed.
> They are not supposed to use mkpasswd anymore since they don't need it,
> only in very special circumstances.

Wouldn't it be better to let mkpasswd -l simply fail with an explanatory 
error message instead of producing non-backward compatible results? Or 
at least print a warning to stderr?

>    And then I expect that they will
> have to change the created files manually anyway.

It depends. One of my use cases relies on non-prefixed local user names 
which match the (also non-prefixed :-) windows local user names. The 
usual duplicates with domain users (Administrator, Guest) never resulted 
in any problems.


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list