Miten saisi ohjelmalle väiaikaisesti rootin oikeudet helpoiten ja miten ohjelma voi luopua rootin oikeuksista itse pysyen silti ajossa?
Root oikeudet
oikeus toteutukoon
13409
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 13
Vanhimmat
Ej onnistu. Rootin oikeudet saat sille käynnistämällä sen roottina. Normi käyttäjäksi pääset sammuttamalla ohjelman ja käynnistämällä sen käyttäjänä.
Jos käytät Ubuntua niin tee näin
kirjoita
sudo su
sen jälkeen se pyytää salasanaa ja anna se niin olet root ja voit tehdä kaiken mitä haluat
kirjoittamalla exit palaa jälleen "normaaliksi" käyttäjäksi
ainii ohjelmahan suoritetaan taustalla % parametrillä muistaakseni? joku voi korjata jos olen väärässä
esim. firefox %
oikea merkki tausta-ajoon on se and-merkki (shift-6), ei %. (tämä suomi24-palsta ei näytä sitä oikein)
&
Riippu käyttiksestä. Mintissä ja *buntuissa
sudo ohjelma (enter, ja OMA salasana)
tai
sudo (enter, ja OMA salasana)
,jonka jälkeen olet root, kunnes kirjoitat exit.
Suurimmassa osassa linuxeja kuitenkin
su (enter ja ROOTIN salasana.)
Miten ohjelma voi luopua root oikeuksista ilman käyttäjän apuja?
Ei vissiin mitenkään, ellei siihen ole koodattu jotain hämärää.
Mitä yrität tehdä?
Esimerkkiä voi katsoa vaikka Apachesta. Sehän käynnistetään roottina ja sitten pudotetaan oikeuksia.
mulla meni vähän ohi.. selitätkö tarkemmin? :D
Apache potkaistaan käyntiin roottina, jotta rootin portit saadaan käyttöön. Sen jälkeen muut käynnistettävät prosessit pyörivät normaalioikeuksin. Eli Apachessa yksi prosessi on rootin ja loput www-datan.
Homma on nimeltään "privilege separation".
Tuo toimii jotenki näin esimerkiksi:
#!/bin/bash
useradd user1
useradd user2
mkdir /home/user1
mkdir /home/user2
echo "echo user1 file executed" > /home/user1/1.sh
echo "echo user2 file executed" > /home/user2/2.sh
chown user1:users /home/user1/1.sh
chown user2:users /home/user2/2.sh
whoami
su - user1 -c "sh /home/user1/1.sh && whoami"
su - user1 -c "sh /home/user2/2.sh && whoami"
su - user2 -c "sh /home/user1/1.sh && whoami"
su - user2 -c "sh /home/user2/2.sh && whoami"
whoami
#ENDOF
aja tuo rootina niin huomaat kuinka pari scriptiä ajetaan eri oikeuksin..
tosin saat tuolla systeemiisi pari käyttäjää :D no ehkäpä osaat ne poistaa jos kerta tuollaisia muutenkin kyselet.
kokeileppa ajaa fakeroot komennolla, jos ei ihan pakko ole ajaa oikeilla root tunnuksilla.