I've followed the instruction of firewater s-off.
After successfully pushed 'firewater' to /data/local/tmp and changed the permission to 755, I've typed '/data/local/tmp/firewater' but nothing happened.
It's the same problem under Windows 7.
Whats more, the file 'firewater' in /data/local/tmp disappeared automatically after '/data/local/tmp/firewater' has been executed.
Another question was that I had never entered 'su' after 'adb shell', but still got root permission?
Tried with both my MacBook Pro and desktop computer and got exactly the same results.