X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=2.4 required=5.0 tests=AWL,BAYES_50,BOTNET,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: sourceware.org Message-id: <0L3H004V026OXKL0@vms173015.mailsrvcs.net> Date: Fri, 04 Jun 2010 00:08:47 -0400 To: Adi B Treiner , cygwin AT cygwin DOT com From: "Pierre A. Humblet" Subject: Re: "1.7.5: question about running cron tasks as normal local user (no domain users / no local admin group users)" In-reply-to: <1275569826.30408.19.camel@andromeda.abtsoft.intra> References: <1275569826 DOT 30408 DOT 19 DOT camel AT andromeda DOT abtsoft DOT intra> MIME-version: 1.0 Content-type: multipart/mixed; boundary="=====================_179299031==_" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --=====================_179299031==_ Content-Type: text/plain; charset="us-ascii"; format=flowed At 08:57 AM 6/3/2010, Adi B Treiner wrote: >Hello, > >After upgrading to version 1.7.5 running cron tasks for normal local >users doesnt work anymore. > >For those users cron always reports the following error: >cron.exe: *** fatal error - could not load user32, Win32 error 1114 > >This seems to be related to similar issues as described for ssh >authentication via privat/public keys. > >I followed all the suggestion for the above topic but this doesnt solve >the issue for running cron tasks. > > >I dont have any problem with ssh authentication via private/public key >pairs - so I think my configuration should be appropriate. > > >My virtual Windows box running under Windows 2000 Professional. >I only have local Users ( no domain users ). > >The Problem doesnt happen for users of the local admin group - for those >users it works as expcted. > > >Even the problem didnt occur with the old 1.5 version. > >Please could someone point me how to solve the issue. Hi, Did you upgrade from 1.5 to 1.7.5 or did you go through some 1.7.X? This problem may be due to the way the groups are computed in Cygwin 1.7 but there must be something special about your install, otherwise we would see more reports. It's significant that you are on a non-US system. Actually there was a change in Feb 2010 http://cygwin.com/ml/cygwin-cvs/2010-q1/msg00109.html to fix a bug on non-US systems. But this may have caused a bug in your older Windows 2000 ... Could you - compile and run the attached program - in a shell, type cacls 'c:\WINDOWS\system32\user32.dll' (or where ever user32 is on your system) cacls 'c:\WINDOWS\system32' and send me the outputs ? Thanks Pierre --=====================_179299031==_ Content-Type: text/plain; charset="us-ascii" Content-Disposition: attachment; filename="testcyg.c" #include #include #include /* Macro to define variable length SID structures */ #define SID(n, name, sid...) \ struct { \ BYTE Revision; \ BYTE SubAuthorityCount; \ SID_IDENTIFIER_AUTHORITY IdentifierAuthority; \ DWORD SubAuthority[n]; \ } name = { SID_REVISION, n, {SECURITY_NT_AUTHORITY}, {sid}} SID(1, BuiltInSid, SECURITY_BUILTIN_DOMAIN_RID); SID(2, AdminsSid, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS); void printw(WCHAR * name, DWORD len) { unsigned int i; for (i = 0; i < len; i++) printf("%d ", name[i]); printf("\n"); for (i = 0; i < len; i++) printf("%c", name[i]); printf("\n"); } void print(char * name, DWORD len) { unsigned int i; for (i = 0; i < len; i++) printf("%d ", name[i]); printf("\n"); for (i = 0; i < len; i++) printf("%c", name[i]); printf("\n"); } void lookupw(void *psid, char *name) { WCHAR group[100], domain[100]; DWORD x, glen = 99, domlen = 99; SID_NAME_USE use = 0; x = LookupAccountSidW(NULL, psid, group, &glen, domain, &domlen, &use); printf("%s use %d res %lu\n", name, use, x); if (x) { printw(group, glen); printw(domain, domlen); } } void lookup (void * psid, char * name) { char group[100], domain[100]; DWORD x, glen = 99, domlen = 99; SID_NAME_USE use = 0; x = LookupAccountSidA (NULL, psid, group, &glen, domain, &domlen, &use); printf("%s use %d res %ld\n", name, use, x); if (x) { print(group, glen); print(domain, domlen); } } int main(void) { printf("========= testcyg ==========\nuname -a: "); fflush(stdout); system("uname -a"); printf("\nnarrow:\n"); lookup(&BuiltInSid, "BuiltIn"); lookup(&AdminsSid, "Admins"); printf("\nwide:\n"); lookupw(&BuiltInSid, "BuiltIn"); lookupw(&AdminsSid, "Admins"); printf("========= the end ==========\n"); return 0; } --=====================_179299031==_ Content-Type: text/plain; charset=us-ascii -- 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 --=====================_179299031==_--