This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Possible disconnect between POSIX and Windows ACL permissions (unspecified Owner/Owning Group (????????) + Win32 Errors during cygcheck, ssh, and other apps...)



I know the problems I am having (noted below) seem the same as issues previously posted in the "cygwin" mailing list, but I am not so sure. I have reviewed similar postings and while there are similarities, I also feel this problem is somewhat different...


http://sourceware.org/ml/cygwin/2009-11/msg00492.html
http://sourceware.org/ml/cygwin/2009-01/msg00651.html - (also @ http://omgili.com/mailinglist/cygwin/cygwin/com/4977B5571070708etr-usacom.html)
http://sourceware.org/ml/cygwin/2009-11/msg00540.html
etc...


I also read the section about NTSEC IDS @...

http://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-ids

/Background:/

Let me just clarify now that I do not believe this is a bug in Cygwin, but perhaps an issue with Windows or my environment. I recently rebuilt my computer... installed Windows (XP Professional) with Service Pack 3, installed drivers, applied all security updates/patches/etc, and then proceeded to install software (such as Cygwin). After my initial setup, I observed strange behavior in Cygwin (see below).

However, just the other day (Monday, June 28th), MS published a security update for Windows, so being a "responsible" user, I applied the update, rebooted and proceeded to open a Cygwin shell. To my amazement, Cygwin was functioning correctly. I performed all the noted functions below successfully. However, I noticed I had not installed development tools (compilers, scm (cvs), etc), so I updated my Cygwin install. It again broke my Cygwin environment.

/Problem:/

When ever I run an >ls -la, I get the following output...

*jblum@devbox ~*
$ ls -la
ls: .: Invalid argument
ls: ..: Invalid argument
ls: .bashrc: Invalid argument
ls: .bash_history: Invalid argument
ls: .bash_profile: Invalid argument
ls: .inputrc: Invalid argument
ls: bin: Invalid argument
ls: cp: Invalid argument
ls: cygcheck.out: Invalid argument
ls: sqltool.rc: Invalid argument
total 116
drwxr-x--- 1 ???????? ????????     0 2010-06-30 16:59 .
drwxr-x--- 1 ???????? ????????     0 2010-06-30 16:51 ..
-rw-r----- 1 ???????? ????????  6427 2010-06-30 19:54 .bash_history
-rw-r----- 1 ???????? ????????  1237 2010-06-30 16:59 .bash_profile
-rw-r----- 1 ???????? ????????  3772 2010-06-30 16:59 .bashrc
-rw-r----- 1 ???????? ????????  1461 2010-06-30 16:14 .inputrc
drwxr-x--- 1 ???????? ????????     0 2010-06-30 16:57 bin
drwxr-x--- 1 ???????? ????????     0 2010-06-30 16:57 cp
-rw-r----- 1 ???????? ???????? 88322 2010-06-30 17:01 cygcheck.out
-rw-r----- 1 ???????? ????????  5123 2010-06-30 16:57 sqltool.rc

If I execute >vim, I get the following (which proceeds to hang and I need to close the Cygwin shell)...

*jblum@devbox ~*
$ vim

E558: Terminal entry not found in terminfo
'cygwin' not known. Available builtin terminals are:
    builtin_riscos
    builtin_amiga
    builtin_beos-ansi
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
defaulting to 'ansi'

When I ssh to another box, and perform some task (like run vim), I run into the following Win32 error...

*jblum@devbox ~*
$ ssh jblum@dataserver
jblum@dataserver's password:
*[jblum@dataserver jblum]$* vim

<I proceed to enter SHIFT-:q! to immediately quit the editor and ...>

1 [main] ssh 660 C:\cygwin\bin\ssh.exe: *** fatal error - could not load user32, Win32 error 487
Hangup


Also...

*jblum@devbox ~*
$ clear
'cygwin': unknown terminal type.


I believe all these issues are related to the same problem, which I think has something to do with Owner/Group-permissions on the Cygwin files. As I said, when I applied a security update issued by MS on Monday (6/28), for a short-time before I updated my Cygwin installation, Cygwin was functioning correctly and I did not see (*????????*) in place of Owner/Group. I saw (*jblum/None*) and none of the above issues occurred.


I have tried several things...

1. I reran *mkpasswd -l -c > /etc/passwd *as well as *mkgroup -l -c > /etc/group*. Restared Cygwin, rebooted, etc.

2. If I run ls -n, I get the following output...

*jblum@devbox ~*
$ ls -n
ls: .: Invalid argument
ls: ..: Invalid argument
ls: .bashrc: Invalid argument
ls: .bash_history: Invalid argument
ls: .bash_profile: Invalid argument
ls: .inputrc: Invalid argument
ls: .ssh: Invalid argument
ls: bin: Invalid argument
ls: cp: Invalid argument
ls: cygcheck.out: Invalid argument
ls: sqltool.rc: Invalid argument
total 116
drwxr-x--- 1 4294967295 4294967295     0 2010-06-30 20:21 .
drwxr-x--- 1 4294967295 4294967295     0 2010-06-30 16:51 ..
-rw-r----- 1 4294967295 4294967295  6343 2010-06-30 20:20 .bash_history
-rw-r----- 1 4294967295 4294967295  1237 2010-06-30 16:59 .bash_profile
-rw-r----- 1 4294967295 4294967295  3772 2010-06-30 16:59 .bashrc
-rw-r----- 1 4294967295 4294967295  1461 2010-06-30 16:14 .inputrc
drwxr-x--- 1 4294967295 4294967295     0 2010-06-30 20:21 .ssh
drwxr-x--- 1 4294967295 4294967295     0 2010-06-30 16:57 bin
drwxr-x--- 1 4294967295 4294967295     0 2010-06-30 16:57 cp
-rw-r----- 1 4294967295 4294967295 88322 2010-06-30 17:01 cygcheck.out
-rw-r----- 1 4294967295 4294967295  5123 2010-06-30 16:57 sqltool.rc

Obviously, based on the section "Special values of user and group ids" in the Cygwin user guide, it would seem that the Owner and Group of files are not in the etc/passwd and /etc/group files respectively. However, that is simply not true. If I take one file, for instance, and run...

*jblum@devbox ~*
$ getfacl .bash_profile
# file: .bash_profile
# owner: jblum
# group: None
user::rwx
group::rwx
mask:rwx
other:rwx

I can see that the Owner is jblum (my user) and the group is none with somewhat appropriate permissions. I am logged into Windows as jblum. When I access the Cygwin shell I am jblum. I exists in the /etc/passwd file and am a member of the appropriate groups...

*jblum@devbox ~*
$ whoami
jblum

$ groups
None Administrators Users

$ id
uid=1003(jblum) gid=513(None) groups=513(None),544(Administrators),545(Users)


The contents of both the */etc/passwd* and */etc/group* files are as follows...

*jblum@devbox ~*
$ cat /etc/passwd

SYSTEM:*:18:544:,S-1-5-18::
LocalService:*:19:544:U-NT AUTHORITY\LocalService,S-1-5-19::
NetworkService:*:20:544:U-NT AUTHORITY\NetworkService,S-1-5-20::
Administrators:*:544:544:,S-1-5-32-544::
Administrator:unused:500:513:U-DEVBOX\Administrator,S-1-5-21-1275210071-1580818891-682003330-500:/ho
me/Administrator:/bin/bash
ASPNET:unused:1005:513:ASP.NET Machine Account,U-DEVBOX\ASPNET,S-1-5-21-1275210071-1580818891-682003
330-1005:/home/ASPNET:/bin/bash
Guest:unused:501:513:U-DEVBOX\Guest,S-1-5-21-1275210071-1580818891-682003330-501:/home/Guest:/bin/ba
sh
HelpAssistant:unused:1000:513:Remote Desktop Help Assistant Account,U-DEVBOX\HelpAssistant,S-1-5-21-
1275210071-1580818891-682003330-1000:/home/HelpAssistant:/bin/bash
*jblum:unused:1003:513:John J. Blum,U-DEVBOX\jblum,S-1-5-21-1275210071-1580818891-682003330-1003:/hom
e/jblum:/bin/bash
*sblum:unused:1004:513:Sara E. Blum,U-DEVBOX\sblum,S-1-5-21-1275210071-1580818891-682003330-1004:/hom
e/sblum:/bin/bash
SUPPORT_388945a0:unused:1002:513:CN=Microsoft Corporation,L=Redmond,S=Washington,C=US,U-DEVBOX\SUPPO
RT_388945a0,S-1-5-21-1275210071-1580818891-682003330-1002:/home/SUPPORT_388945a0:/bin/bash


$ cat /etc/group
SYSTEM:S-1-5-18:18:
Administrators:S-1-5-32-544:544:
Backup Operators:S-1-5-32-551:551:
Guests:S-1-5-32-546:546:
Network Configuration Operators:S-1-5-32-556:556:
Power Users:S-1-5-32-547:547:
Remote Desktop Users:S-1-5-32-555:555:
Replicator:S-1-5-32-552:552:
Users:S-1-5-32-545:545:
HelpServicesGroup:S-1-5-21-1275210071-1580818891-682003330-1001:1001:
*None:S-1-5-21-1275210071-1580818891-682003330-513:513:*

This led me to believe that maybe the SIDs of the Owner and Group of the files were still somehow different and not present in the passwd and group files respectively, so I ran SetACL (sourceforce.org project) based on another posting I came across, which output the following...

*jblum@devbox ~*
$ SetACL -on .bash_profile -ot file -actn list -lst "f:*sddl*;w:d,s,o,g"

".bash_profile",1,"O:S-1-5-21-1275210071-1580818891-682003330-1003G:S-1-5-21-1275210071-1580818891-6
82003330-513D:(A;;FA;;;S-1-5-21-1275210071-1580818891-682003330-1003)(A;;0x1201bf;;;S-1-5-21-1275210
071-1580818891-682003330-513)(A;;0x1201bf;;;WD)"

SetACL finished successfully.

$ SetACL -on .bash_profile -ot file -actn list -lst "f:*tab*;w:d,s,o,g"
.bash_profile

Owner: DEVBOX\jblum

Group: DEVBOX\None

   DACL(not_protected):
   DEVBOX\jblum   full   allow   no_inheritance
   DEVBOX\None   write   allow   no_inheritance
   Everyone   write   allow   no_inheritance


SetACL finished successfully.


Or, if I just run the following...

*jblum@devbox ~*
$ cacls .bash_profile
C:\cygwin\home\jblum\.bash_profile DEVBOX\jblum:F
                                   DEVBOX\None:(special access:)
                                               READ_CONTROL
                                               SYNCHRONIZE
                                               FILE_GENERIC_READ
                                               FILE_GENERIC_WRITE
                                               FILE_GENERIC_EXECUTE
                                               FILE_READ_DATA
                                               FILE_WRITE_DATA
                                               FILE_APPEND_DATA
                                               FILE_READ_EA
                                               FILE_WRITE_EA
                                               FILE_EXECUTE
                                               FILE_READ_ATTRIBUTES
                                               FILE_WRITE_ATTRIBUTES

                                   Everyone:(special access:)
                                            READ_CONTROL
                                            SYNCHRONIZE
                                            FILE_GENERIC_READ
                                            FILE_GENERIC_WRITE
                                            FILE_GENERIC_EXECUTE
                                            FILE_READ_DATA
                                            FILE_WRITE_DATA
                                            FILE_APPEND_DATA
                                            FILE_READ_EA
                                            FILE_WRITE_EA
                                            FILE_EXECUTE
                                            FILE_READ_ATTRIBUTES
                                            FILE_WRITE_ATTRIBUTES

Everything appears to be in order. I have done the following...

1. Right-clicked, opened the properties dialog, clicked Security tab, verified authorized users and Windows permissions.

2. I have changed my */etc/fstab *file to include the *noacl* option in mount commands to my devices. Current mount is...

*jblum@devbox ~*
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type ntfs (binary,posix=0,user,noumount,auto)
F: on /cygdrive/f type ntfs (binary,posix=0,user,noumount,auto)
G: on /cygdrive/g type ntfs (binary,posix=0,user,noumount,auto)
H: on /cygdrive/h type ntfs (binary,posix=0,user,noumount,auto)

3. I have uninstalled (deleted the cygwin directory, deleted registry entries, etc) and reinstalled multiple times.

4. I reinstalled as the Administrator of the machine.

5. I have reinstalled an older version of Cygwin (cygwin1.dll version 1.5.25-15) based on an older install... same problem.

6. I have mucked with the group setting of my user (jblum) in the passwd file, setting to Administrator (544), as I am a member of the Administrator group in Windows.

7. Simple put, I am out of ideas....

I am attaching the *cygcheck *output for further details about my environment. Interestingly enough, when I run cygcheck, I get the following error as well...

*jblum@devbox ~*
$ cygcheck -svr > cygcheck.out
1 [main] id 6644 C:\cygwin\bin\id.exe: *** fatal error - could not load user32, Win32 error 487
garbled output from 'id' command - no uid= found


Thanks for any help in advance and insight into what I might be missing. I am certain this is a user (loser) error.

Thank you,

--
John Blum
/Software Solutions Consultant/
Codeprimate LLC *
*
<email:jblum0@gmail.com>

Attachment: cygcheck.out
Description: Text document

--
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]