2
每個Hello都有迴應。第二TTY會招呼發送到發送方TTY反之亦然:如何在兩個TTY之間創建一個循環?
echo 'echo hello > /dev/pts/1' > /dev/pts/0
首屆接收器應該發送「你好」向原始發件人,但事實並非如此。哪裏不對?
[澄清]我有兩個殼運行。/dev/pts/1是最初的發件人。
每個Hello都有迴應。第二TTY會招呼發送到發送方TTY反之亦然:如何在兩個TTY之間創建一個循環?
echo 'echo hello > /dev/pts/1' > /dev/pts/0
首屆接收器應該發送「你好」向原始發件人,但事實並非如此。哪裏不對?
[澄清]我有兩個殼運行。/dev/pts/1是最初的發件人。
當你把你的echo命令/dev/pts/0
你真的只是發送該回波輸出到其它TTY的輸出 - 你是不是它發送給其他TTY的輸入緩衝區。因此,您嵌套的echo
命令將簡單顯示在另一個TTY上,但不會執行。
有一個ioctl()
調用TIOCSTI
它可以用來僞造另一個TTY上的輸入,但前提是您對該另一個TTY具有「寫入」權限。
很多年前,我記得有些朋友和我在某些版本的UNIX上發現了漏洞,這些版本沒有正確強制執行TIOCSTI的安全權限。如果root已經讓某個終端登錄了某個地方,那麼有可能以你的名義在命令中創建root用戶的終端類型...
你有在/ dev/pts/0下運行的shell嗎? – 2009-02-05 00:14:05