SegFault running "ls -l" after Microsoft Patch Day

Dr Rainer Woitok
Sat Dec 19 17:08:00 GMT 2015


On Wednesday, 2015-12-16 17:47:58 +0100, you wrote:

> ...
> >    Since my "/etc/passwd" file
> > uses more Unix like names even for the typical Windows accounts,
> Which doesn't make much sense from my POV, but, anyway.

Well, from my point of view it does.  My game is to have an as Unix like
environment  as possible  on Windows,  rather than  allowing  Windows to
teach Unix that user  or group names are as long  as tape worms  and (of
all things!) contain blanks, as in, for instance, "NT SERVICE+TrustedIn-
staller",  "Medium Mandatory Level",  "NTLM Authentication",  and so on.
If you started to write  Unix scripts in the days  before a certain com-
pany named "Microsoft" was even founded,  and if you developed the habit
of processing output from commands like "ls -l" or "id" by using runs of
blanks as field separators,  and if you still have some of these scripts
around, and even write new ones still using this habit,  you'll probably
know how anoying these Window-isms can be.

By basically using

   mkpasswd -l | sed '...' > /etc/passwd
   mkgroup  -l | sed '...' > /etc/group

to roll my  own versions of  "/etc/passwd" and "/etc/group" I do nothing
more then using  blankless and rather short names  for users and groups.
And the only  purpose of these terminating "other:"  lines in both files
was to abbreviate "Unknown+User" and "Unknown+Group" to "other".  So I'm
not hiding any  real information,  as you put it,  I'm just  keeping the
string conveying this information Unix like, that is, short.

My  approach of  appending  these "other:" lines  to the  "password" and
"group" files may well be "illegal"  and may well break things in Cygwin
(though up to last Patch Day it didn't),  so is there an official way to
change "Unknown+User" and "Unknown+Group" to "other" and -- while we are
talking about it -- to change  "4095(CurrentSession)"  in the  output of
the "id" command to something shorter?  Currently, the latter is the on-
ly string I didn't yet  manage to change  by fiddling around with "/etc/
group" (yes, it's blank free, but it's by far too long).

> ...
> The questions you should ask yourself: Why are there SIDs unknown to
> Cygwin, despite Cygwin fetching account info directly from Windows?

No, that never was the question  because the answer is obvious.   For me
the question always has been  how to change these strings into something
less in the way of fitting the output of "ls -l" into an XEmacs or term-
inal window traditionally eighty characters wide.

> Apart from the explanation in

When Cygwin introduced this mapping some years ago,  above URL contained
most of the information I needed to remove unwanted blanks from the out-
put of the  "id" command  by adding additional  groups to  "/etc/group".
Thank you for that.  Just for the record:  this description fails to ex-
plain the conversion of "NT SERVICE+TrustedInstaller" (also known as "S-
1-5-80-V-W-X-Y-Z") to "328384".

> ...
>             I applied a fix and uploaded a new developer snapshot to
> and created a new test release 2.4.0-0.11
> for testing.  Please give any of them a try.

Sure.   I've already downloaded "cygwin1-20151216.dll.xz"  and will test
it and report back as soon as time permits.


| Rainer M Woitok                | Phone : (+49 60 93) 487 95 95       |
| Kolpingstraße 3                | Mobile: (+49 172) 813 6 831         |
| D-63846 Laufach                | Mail  : Rainer.Woitok@Gmail.Com     |
| Germany                        |                                     |

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list