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