[Debian/PHP/CVS] CVSROOT/passwd via php aanpassen

Pagina: 1
Acties:

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Ik heb een php-script gemaakt om in een repository de CVSROOT/passwd file aan te passen. Dit om het voor mezelf makkelijker te maken om de toegang te beheren. (Script beschikbaar op aanvraag)

Nu stuit ik echter op het volgende dilemma, ik wil dat mijn script de file kan bewerken, maar ik wil niet:
- www-data (dus ieder script) toegang geven
- het script voor andere users leesbaar hebben

Ik heb al met de rechten e.d. zitten spelen, maar zoals het nu is kan ieder php-script dat via apache wordt gestart de file bewerken.

Heeft iemand een oplossing?
Op Afbeeldingslocatie: http://www.google.nl/images/logo_sm.gif zoeken levert weinig op, mede doordat ik niet goed weet waarop ik moet zoeken.

  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

login met een rechten pakket bakken op de controlpanel, backend perl scriptje wat sudo bestuurt. Zo doen wij ook het wijzigen van wachtwoorden in linux vanaf ons controlpanel.

Je laat de betreffende sudo alleen een bepaald script uitvoeren, en geeft www-data alleen sudo rechten op dat wat hij ECHT nodig heeft.

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Ik heb er nooit eerder over gedacht om sudo te apt-getten (installeren), ik heb gehoord dat hier toch wat veiligheidsrisico's mee gepaard gaan.

In ieder geval bedankt voor je reactie, zeker nuttig. Morgen maar even opzoek naar informatie over sudo (en eventuele veiligheidsrisico's).

Nogmaals: goeie tip, bedankt

  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

sudo is zo onveilig als je 'em zelf configureerd ...

geef je iemand sudo rechten om bash(of een andere soortgelijke) uit te voeren heeft hij feitelijk root access. Da's simpel. :)

Je MOET iemand sudo rechten geven, anders werkt het zowiso voor niemand niet.

[ Voor 21% gewijzigd door [NUT] op 14-05-2005 00:46 ]


  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Toch nog wat twijfel...

Is sudo zo in te stellen dat slechts één bepaald script/programma (cvs.pl) gerunt door één bepaalde gebruiker (www-data) aangeroepen vanuit één bepaald script (/var/www/admin/cvs.php) root rechten heeft?

Als het namelijk alleen per gebruiker in te stellen is, en dus ieder script gerunt door www-data die cvs.pl als root uitvoert, kan nog steeds iedere willekeurige gebruiker een php-script maken dat mijn cvs.pl aanroept. (En op die manier even een extra usertje toevoegt)

  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 20:29
Nu ben ik niet zo goed thuis in Linux, maar is het geen optie om een cronjob te laten draaien welke om de x tijd checkt of er password settings zijn veranderd (via database b.v.) ?

Stability ?? My Atari still has it :)


  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

Fl4sh3r schreef op zaterdag 14 mei 2005 @ 10:46:
Toch nog wat twijfel...

Is sudo zo in te stellen dat slechts één bepaald script/programma (cvs.pl) gerunt door één bepaalde gebruiker (www-data) aangeroepen vanuit één bepaald script (/var/www/admin/cvs.php) root rechten heeft?
ja.
Als het namelijk alleen per gebruiker in te stellen is, en dus ieder script gerunt door www-data die cvs.pl als root uitvoert, kan nog steeds iedere willekeurige gebruiker een php-script maken dat mijn cvs.pl aanroept. (En op die manier even een extra usertje toevoegt)
Iedereen zou dit script kunnen aanroepen, die sudo rechten heeft. Maar als je je pagina goed beveiligt dan moet het gewoon kunnen. (bijvoorbeeld checken wie de eigenaar is van het php script welke de actie uitvoert?)

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Atari Paul schreef op zaterdag 14 mei 2005 @ 10:56:
Nu ben ik niet zo goed thuis in Linux, maar is het geen optie om een cronjob te laten draaien welke om de x tijd checkt of er password settings zijn veranderd (via database b.v.) ?
Dat is een optie, maar ik ben niet zo'n voorstander van dingen die vertraagd geupdate worden. Ik wil het liefst dat iets meteen up-to-date is.
[NUT] schreef op zaterdag 14 mei 2005 @ 11:04:
(bijvoorbeeld checken wie de eigenaar is van het php script welke de actie uitvoert?)
Het is alweer een tijd geleden dat ik veel bezig was met Perl, waarschijnlijk kom ik met zoeken ook een heel eind, maar als je het me kunt zeggen zou helemaal mooi zijn: hoe kun je checken wie de eigenaar is van het script dat het huidige script (waarin gecheckt wordt) aanroept is?

edit: als ik zou kunnen checken welk script het perl script aanroept is opzich al voldoende, het is maar 1 php-script wat het perl-script hoeft te gebruiken.

Ik heb al even de %ENV afgedrukt, hier staat het niet tussen.

[ Voor 48% gewijzigd door Fl4sh3r op 14-05-2005 11:59 ]


  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Inmiddels heb ik een methode gevonden getppid() (get Parent Process ID), helaas is de parent niet het script, maar apache. Het probleem is dus weer hetzelfde, ieder php-script dat via apache wordt gestart heeft hetzelfde ppid. Met als gevolg dat ik mijn cvs.php niet kan onderscheiden van andere php-scripts.

  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

met een 'ls -la' op het bestand wat de aanroep doet, dit met grep laten zoeken op de uid en gid van de gebruiker(s) die dit mogen uitvoeren.

Er zijn nog andere opties ... php safemode is er een van, maar die kan ook te rigoreus zijn...

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Mijn server draait al safe_mode, misschien dat ik het daar maar bij laat.

Het uitvinden van de eigenaar van een script lukt wel, maar het achterhalen van het script dat het .pl-script aanroept lukt niet.
Pagina: 1