Souboj s pravy na Suse enterprise serveru 9 pri pouziti cronu.

Petr Zapadlo zapadlo na melzer.cz
Pátek Červen 24 10:48:36 CEST 2005


Dne pá 24. června 2005 10:39 Dusan Zatkovsky napsal(a):
> On Fri 24. of June 2005 10:30, Jan Kovář wrote:
> > Dobry den.
>
> DD
>
> > Prihlasi se jako uzivatel oracle. Vytvori script kdo_jsem.sh, kde je jen
> > vypis whoami do textoveho souboru. Nastavi opravneni, vlastnikem je
> > uzivatel oracle. Kdyz ho spusti, v tom souboru najde uzivatele oracle a
> > vlastnikem toho textaku je taky uzivatel oracle.
>
> Co je predpokladam ocakavany korektny stav.
>
> > Nasleduje crontab -e, tam  hodi cestu na ten "script" kdo_jsem.sh a
> > ejhle, uz je tam uzivatel root a  vlastnikem toho textaku je taky root.
> > Divne, ne?
>
> Preco by to malo byt divne?
>
> > Puvodne totiz delal nejaky script na zalohovani Oracle db a vytvorilo mu
> > to log, jehoz vlasnikem byl root. -rw-r--r-- 1 root root 50505 backup.log
> >
> > Ovsem kdyz jako uzivatel oracle udelal: rm backup.log, tak system
> > zahlasil:
> >
> > rm: remove write-protected regular file 'backup.log'? y
> >
> > a umoznil mu soubor smazat.
>
> To sa mi nejak silne nezda. Nema nejaky chaos v passwd file s ID
> uzivatelov?
>

To je normalni, uzivatel muze mit pravo soubor smazat, ale nesmi ho cist.

jestlize soubor chci cist pak musim mit pravo primo na tom souboru. jeslize ho 
chci smazat, pak mi to musi dovolit nadrazeny adresar.


> > Me to prijde hodne divne, ale nedokazu mu
> > poradit krome toho, at zkusi napsat na prvni radek scriptu su - oracle.
> > Ale to nejak nevysvetluje to divne chovani. A uz vubec nechapu, jak muze
> > smaznout uzivatel oracle soubor, jehoz vlastnikem je root. Muze mi nekdo
> > vysvetlit, proc se to tak divne chova? Na pripadne upresnujici dotazy
> > sezenu odpovedi.
>
> To zmazanie suboru tiez moc nechapem. Co sa tyka crontabu, odjakziva spusta
> vsetkty procesy ako root, takze tam nevidim ziaden problem. 

Tohle je bklbost, podivejte se do /var/spool/cron/ (crontab) 
je tam soubor root? a je tam soubor oracle?

jestlize date crontab -e, pak to znamena ze cron danou akci zaradi do seznamu 
tomu uzivateli pod kterym bylo crontab -e spusteno, tj jestli to spustite 
jako  root, pak se to provede s rootovimi pravy a log bude vlastnit root.
jestlize crontab -e spustite pod oracle, pak by vse melo bezet pod oracle i 
vlastnik vysledku by mel byt oracle.



S pozdravem
-- 
Petr "Zapik" Zapadlo


Ing. Petr Zapadlo
vedoucí oddělení systémové podpory
Melzer, spol. s r.o.
Dolní 71, 796 01 Prostějov
tel: 582 330 301
fax: 582 330 302
mailto: zapadlo na melzer.cz
http://www.melzer.cz


Další informace o konferenci Linux