← Back to team overview

sslug-teknik team mailing list archive

RE: Problem med at droppe root retigheder i et perl script -- SOLVED

 

Mange tak for hjælpen. Jeg har dog lige selv fundet fejlen.

Den med su -c "program" havde jeg prøvet og den virkede ikke da den bruger jeg ville kløre det under ikke selv skulle kunne eksekvere det pågældende script (for at undgå partielle operationer da der er tale om en oprydningsoperation).

At root ikke kunne køre det som en lavere bruger skyldtes at jeg brugte $ENV{LOGNAME} til mit db-connect script (som jo stadig fandt 'root' til at finde loginnavn (og ikke uid som fås i $<) (Dette blev gjort i et modul jeg inkluderede) så at sætte $< og/eller $> hjalp ikke.. da jeg først fandt ud af det og satte $ENV{LOGNAME} til det rette brugernavn (samt $< og $> til det rette), så virker det.. 

Søren Koch
Development Engineer.
cand.scient., PhD.
Fuel Cells and Solid State Chemistry Department
Risø National Laboratory
Frederiksborgvej 399
4000 Roskilde
Phone: (+45) 46 77 58 16

 

> -----Original Message-----
> From: Frank Larsen [mailto:fl@xxxxxxxxxxx] 
> Sent: Wednesday, December 06, 2006 2:22 PM
> To: sslug-teknik@xxxxxxxx
> Subject: RE: [TEKNIK] Problem med at droppe root retigheder i 
> et perl script
> 
> > 
> > Jeg sidder og roder med et prl script som jeg gerne vil have 
> > til at kun kunne køres af root, men programmet skal køre med 
> > lavere rettigheder (som en anden bruger).
> > Grunden til dette er at der skal laves noget oprydning 
> > bagefter perlprogrammet har kørt som kun root kan gøre 
> > (unlinke nogen filer).
> > Programmet derimod skal snakke med en database og jeg kunne 
> > selvf. give root rettigheder til alle tablllerne, men det vil 
> > jeg helst undgå.
> > 
> > Jeg har prøvet med at sette $< og $> til den brugerid der 
> > ejer tablellerne i databasen, men jeg får stadig denne 
> > fejl:DBI connect('dbname=XXXXXX,'root',...) failed: FATAL:  
> > Ident authentication failed for user "root"
> > selv om $< og $> begge er sat til userid 500
> > 
> > Er der nogen der har nogen ideer??
> > (har prøvet at google mig frem, men har ikke kunnet finde 
> > noget om dette problem, det eneste jeg kan finde er om 
> > setid-programmer, men det er jo noget andet.
> > 
> 
> 
> Jeg bruger dette i scripts:
> 
> su - oracle -c "to-do-as-oracle"
> 
> eller 
> 
> 
> if test `su - oracle -c "to-do-as-oracle"` != 0
> then
>   håndter fejl.
> fi
> 
> 
> to-do-as-oracle plejer at været et nyt script, men kan også 
> være alm. linux-kommandoer.
> 
>  
> Med venlig hilsen / Regards
>  
> Frank Larsen
> Kimik IT A/S
> PO Box 740
> 3900 Nuuk
> Greenland
> Mail : support@xxxxxxxxxxx
> Phone: +299 34 20 00
> Fax  : +299 34 20 01
> Skype: larsen_frank
> Gmail: franklarsen19xx
> 
> 
> 
> 


References