su -c 'echo foo' > /dev/null
Ez itten ugyanugy root joggal indulo echo, ami userkent iranyit at. Amire te gondlsz, az a su -c 'echo foo > /dev/null', de ugye a su az mindenkeppen forkol egy komplett uj shellt (egeszen pontosan egy uj PAM login tortenik a root neveben), mig a sudo az suid-os varazslattal dolgozik, es ugyan odafordul a PAM-hoz, de nem tortenik egy kompletten uj login.
Egyebkent azt hiszem, hogy a sudoers pattern match-csal dolgozik, vagyis a sudoersben megadott szabalyok eleg konnyen megkerulhetoek, ezert kell inkabb wrapper scripteket megadni a sudoers-ben.
Ami a pipe buffert illeti, atadja, mert a child processzek egyszeruen igy mukodnek, megoroklik a szulo file descriptorait.
--
Blog | @hron84
Üzemeltető macik