From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106261 invoked by alias); 20 Jun 2019 20:09:04 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 106246 invoked by uid 89); 20 Jun 2019 20:09:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=sth, world X-HELO: scc-mailout-kit-02.scc.kit.edu Received: from scc-mailout-kit-02.scc.kit.edu (HELO scc-mailout-kit-02.scc.kit.edu) (129.13.231.82) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 20 Jun 2019 20:09:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kit.edu; s=20190212; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:References:To:From:Subject; bh=eHM48dWfHEfi7/iTHmuVLTa1mtZB3KS1RX3wokqlVxs=; b=IIGfckFpJ/H56suWnRFpfRH7Jt+JmGS4h1wdtmQ8KAOlI5zpKiINH0cUd7UaB4Da88RbJZdyHm9yOojYAp23K1HtJD1D8m6IMgBW26esnOK0fAmMoXU6ZbXy9PP/oXXrAOpJ93dnB+B8N7VRFWMGqod1+cgDhSRwmCKCtWTEXbc=; Received: from teco141pc.teco.kit.edu ([129.13.170.141] helo=teco141pc.teco.edu) by scc-mailout-kit-02.scc.kit.edu with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (envelope-from ) id 1he3Mh-0007Xr-FE for cygwin@cygwin.com; Thu, 20 Jun 2019 22:09:00 +0200 Received: from 208-161-142-46.pool.kielnet.net ([46.142.161.208] helo=[192.168.178.83]) by teco141pc.teco.edu with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1he3Mg-0000j5-W3 auth-from riedel for cygwin@cygwin.com; Thu, 20 Jun 2019 22:08:59 +0200 Subject: Re: Are there any changes to the access control to /proc//fd/1 in cygwin 3? From: "Till Riedel [TM]" To: cygwin@cygwin.com References: Message-ID: <53dbd37b-1725-b3a2-3976-c595a694be91@kit.edu> Date: Thu, 20 Jun 2019 20:09:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2019-06/txt/msg00184.txt.bz2 Hi Brian, you actually hinted me at sth. : powershell.exe Start-Process bash  \"-c\",\"\'echo hello world  \>`readlink /proc/$$/fd/1`\;sleep 10\'\" works as well. I verified this: >echo hello >/proc/3235/fd/0 -bash: echo: write error: Bad file descriptor >echo hello >`readlink /proc/3235/fd/0` works!? Am I missing sth about symlinks? BR Till Till Riedel [TM] @ 20.06.2019 (21:49) : > Hi Brian, > > thanks for the reply. > > But proc/$$/fd/1 references the callers  stdout and not the callees as > /dev/stdout or /proc/self/fd/2 if called from eg. from bash, because > it is expanded before the call. > > What I was able to do is to inject messages into the callers stdout > and read from the callers stdin, which is when executing under > elevated priviledges (the behaviour you would want for a sudo). > > As said echo >/proc/$$/fd/1 hello world is not the problem and works > fine as you said as well. (I probably should not have said strangely > in the first place, because it is a whole different deal...) > > BR > > Till > > > > Brian Inglis @ 16.06.2019 (17:42) : >> On 2019-06-15 12:27, Till Riedel wrote: >>> I have been using a very handy sudo hack, that broke lately (I >>> think) when >>> updating cygwin: https://github.com/imachug/win-sudo >>> The trick is to spawn an elevated process using powershell and hook >>> up the >>> calling file descripters. I now get "write error: Bad file descriptor" >>> To reproduce call: >>> powershell.exe Start-Process bash  \"-c\",\"\'echo \>\>/proc/$$/fd/1 >>> hello >>> world\;sleep 10\'\" >>> IMHO this used to work in former versions (print out hello world on >>> the calling >>> shell). Strangely >>> bash -c "echo >/proc/$$/fd/1 hello world" >>> works. So my initial guess is that is has to do with the decoupling >>> of Cygwin >>> PIDs from Windows PIDs, but there were also changes in the proc file >>> system... >>> Thanks a lot in advance for any help/thoughts! >> Given: >> $ bash -c 'ls -dglo /dev/std* /proc/self /proc/$$ /proc/self/fd/[012]' >> lrwxrwxrwx 1 15 May 14  2013 /dev/stderr -> /proc/self/fd/2 >> lrwxrwxrwx 1 15 May 14  2013 /dev/stdin -> /proc/self/fd/0 >> lrwxrwxrwx 1 15 May 14  2013 /dev/stdout -> /proc/self/fd/1 >> dr-xr-xr-x 3  0 Jun 16 01:37 /proc/23846 >> lrwxrwxrwx 1  0 Jun 16 01:37 /proc/self -> 23846 >> lrwxrwxrwx 1  0 Jun 16 01:37 /proc/self/fd/0 -> /dev/pty0 >> lrwxrwxrwx 1  0 Jun 16 01:37 /proc/self/fd/1 -> /dev/pty0 >> lrwxrwxrwx 1  0 Jun 16 01:37 /proc/self/fd/2 -> /dev/pty0 >> >> the following seems to work as expected: >> $ powershell Start-Process bash  \"-c\",\"\'echo \>\>/dev/stdout hello >> world\;sleep 10\'\" >> -- KIT- Research University in the Helmholtz Association Dr.-Ing. Till Riedel Lab Leader TECO, SDSC-BW/SDIL (AR) Karlsruhe Institute of Technology (KIT) Institute of Telematics (TM) Pervasive Computing Systems - Prof. Beigl Bldg. 07.07., Room 211 Vincenz Prießnitz Str. 1, 76131 Karlsruhe +49 (0)721 608 41706 www.teco.kit.edu/~riedel -- 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