su password prompt ti stdout instead of /dev/tty
jhell
jhell at DataIX.net
Mon Jan 25 03:54:10 UTC 2010
On Sun, 24 Jan 2010 22:48, jhell@ wrote:
>
> On Sun, 24 Jan 2010 21:57, glen.j.barber@ wrote:
>> Hi,
>>
>> Cyrille Lefevre wrote:
>>>
>>> Hi,
>>>
>>> su password prompt is displayed to *stdout* instead of */dev/tty*.
>>>
>>> # su user
>>> $ su root -c date > /tmp/date 2>&1
>>> (nothing displayed)
>>> $ cat /tmp/date
>>> Password:su: Sorry
>>> $ uname -a
>>> FreeBSD freebsd8.my.domain 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov
>>> 21 15:48:17 UTC 2009
>>> root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>>>
>>> I suppose this is a getpass() problem ?
>>>
>
> This is intended operation as su(1) may not always be affiliated with a TTY.
> This leaves it open for a script to chat with much like what samba does with
> its passwd chat mechanism.
>
If you mean for the program to appropriately append or overwrite to a file
you should ( su user -c 'date >output 2>&1' ) instead
>>
>> I cannot reproduce this. In fact,
>>
>> su root -c date > /tmp/date
>>
>> hangs waiting for input.
>>
>> orion % su root -c date > /tmp/date
>> ^C
>> su: Sorry
>> orion % less /tmp/date
>> Password:
>> orion %
>>
>
> This is essentially what the OP stated was happening except you forgot the
> 2>&1.
>
>> Also, you appear to be running an unpatched version of FreeBSD 8.0,
>> subject to the rtld exploit (among a few others). I'd suggest upgrading.
>>
>> For what it's worth:
>> orion % uname -a
>> FreeBSD orion 8.0-STABLE FreeBSD 8.0-STABLE #20 r202187: Wed Jan 13
>> 11:51:15 EST 2010 root at orion:/usr/obj/usr/src/sys/ORION amd64
>>
>> Regards,
>>
>>
>
>
>
>
>
--
jhell
More information about the freebsd-stable
mailing list