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
r...@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     r...@orion:/usr/obj/usr/src/sys/ORION  amd64

Regards,











--

 jhell

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to