su liides

KDE su kasutab privileegide hankimiseks süsteemi su käsku. Siin seletan lähemalt, kuidas KDE su seda teeb.

Kuna mõned su versioonid (st. seesamune Red Hat® oma) ei taha parooli lugeda stdin-ist, loob KDE su pty/tty paari ning käivitab su standardsete tty-ga seotud failikirjendajatega.

Kasutaja antud käsu käivitamiseks kasutab KDE su su juures võtit -c. Seda argumenti tunnistavad kõik shellid, mida ma vähegi tean, nii et see peaks kõikjal toimima. su edastab argumendi -c sihtshellile ning see käivitab rakenduse. Näide: su root -crakendus.

Selle asemel, et käivitada kasutaja antud käsk vahetult su-ga, käivitab KDE su väikese tüverakenduse nimetusega kdesu_stub. See tüvi (töötab sihtkasutajana) nõuab KDE sult mõningat infot pty/tty kanali kaudu (tüve stdin ja stdout) ning käivitab siis kasutaja rakenduse. Saadetavaks infoks on: X'i seanss, X'i autentimisküpsis (kui on olemas), muutuja PATH ja käivitatav käsk. Tüve kasutamise põhjuseks on see, et X'i küpsis kujutab endast varjatud infot, mida ei saa edastada käsureal.