delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/06/04/00:09:19

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 <adi AT treiner DOT net>, cygwin AT cygwin DOT com
From: "Pierre A. Humblet" <Pierre DOT Humblet AT ieee DOT org>
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
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <stdio.h>
#include <windows.h>
#include <sys/cygwin.h>
/* 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==_--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019