adduser in linux dmv php en bash script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander W

sander W

18/05/2009 22:00:00
Quote Anchor link
Beste mensen,

Ik heb flink lopen googlen om een php script te vinden die het volgende doet:
1. Het php script moet een bash script uitvoeren die een username aanmaakt op mijn freebsd server.
2. Een bevestiging geeft van de gebruikersnaam en het wachtwoord die zojuist aangemaakt zijn

Wat heb ik kunnen vinden?
Dat het iets in deze richting moet worden, ik wel geen exec gebruiken: function createUser($user, $passwd){
system("/usr/local/bin/super userSetup.sh $user $passwd");
}
En zoiets zal het bash script moeten worden;
echo $4 | /usr/sbin/pw useradd -q -h 0 -n $3 -s /bin/none -d /home/$3 -m

Maar kan iemand mij helpen het juiste script compleet in elkaar te zetten? Inclusief invoer vak voor wachtwoord en gebruikersnaam?

Mocht iemand dit kunnen of willen,

Bij deze al heel erg bedankt!

Grts
Gewijzigd op 01/01/1970 01:00:00 door Sander W
 
PHP hulp

PHP hulp

26/12/2024 15:07:15
 
- SanThe -

- SanThe -

18/05/2009 22:08:00
Quote Anchor link
Ik raad je dit uiteraard af. Serverbeheer hoort door de root gedaan te worden en niet door een php-script.

Maar wie ben ik om daar over te oordelen.
- Kijk eerst eens of het commando system wel werkt.
- Het commando adduser moet door root worden uitgevoerd. (veiligheidslek)
- $4 is de vierde parameter en ik zie er maar twee.
- Een simpel formulier moet je zelf kunnen maken. Zoniet, leer html.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Sander W

sander W

18/05/2009 22:25:00
Quote Anchor link
SanThe schreef op 18.05.2009 22:08:
Ik raad je dit uiteraard af. Serverbeheer hoort door de root gedaan te worden en niet door een php-script.

Maar wie ben ik om daar over te oordelen.
- Kijk eerst eens of het commando system wel werkt.
- Het commando adduser moet door root worden uitgevoerd. (veiligheidslek)
- $4 is de vierde parameter en ik zie er maar twee.
- Een simpel formulier moet je zelf kunnen maken. Zoniet, leer html.


aangezien ik een leek ben in php script en html en helaas geen tijd heb om dit te leren binnen het tijdsbestek wat ik hiervoor heb, hoop ik hier de hulp te krijgen :)
mijn specialiteit ligt hier totaal niet, en die van jullie wel, dus ik hoop op iemand die het voor elkaar krijgt :)

in ieder geval bedankt voor de tot zover aangevulde info!
 

18/05/2009 22:27:00
Quote Anchor link
Ik hoop dat elk verandig persoon je niet helpt, dit is echt té gevaarlijk en té slecht principe.
Wat je tijdsbestek is weet ik niet, maar ik neem aan dat je wel één of twee dagen hebt, dan kan je zo wat inelkaar flansen.
 
Sander W

sander W

18/05/2009 22:37:00
Quote Anchor link
Karl schreef op 18.05.2009 22:27:
Ik hoop dat elk verandig persoon je niet helpt, dit is echt té gevaarlijk en té slecht principe.
Wat je tijdsbestek is weet ik niet, maar ik neem aan dat je wel één of twee dagen hebt, dan kan je zo wat inelkaar flansen.


en met exec is het minder gevaarlijk?
wat zijn de alternatieven :)?
 
- SanThe -

- SanThe -

18/05/2009 22:37:00
Quote Anchor link
Ik ben het met Karl eens. Gewoon niet doen. Maar mocht je ondanks de goede raad toch willen doorzetten dan wil ik wel iets voor je maken, echter dat gaat dan wel op uurtarief. Daarbij komt ook nog dat ik niet weet of het sowieso gaat werken omdat, als het goed is, de server dat niet zal toestaan. Dus het maken geeft zeker geen garantie dat het ook gaat werken.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 

18/05/2009 22:40:00
Quote Anchor link
sander schreef op 18.05.2009 22:37:
Karl schreef op 18.05.2009 22:27:
Ik hoop dat elk verandig persoon je niet helpt, dit is echt té gevaarlijk en té slecht principe.
Wat je tijdsbestek is weet ik niet, maar ik neem aan dat je wel één of twee dagen hebt, dan kan je zo wat inelkaar flansen.


en met exec is het minder gevaarlijk?
wat zijn de alternatieven :)?

Nee, het hele principe dat jij een gebruiker wilt toevoegen aan je systeem klopt niet.
 
Jelmer -

Jelmer -

18/05/2009 22:43:00
Quote Anchor link
Zou je de mogelijkheden al niet wat kunnen imperken door via sudo de user waar apache onder draait adduser toegang te geven? Dan zijn de mogelijkheden al iets minder. Je moet nog wel oppassen voor gemene trucjes, maar ik neem aan dat dit alleen voor intern gebruik is, en niet direct van buiten door iemand anders dan jij en de mensen die jij vertrouwt is aan te roepen.

exec en system zijn binnen PHP allebij even onveilig (net als backticks en shell_exec, passthru en alle andere functies die direct toegang hebben tot het systeem. Voor al deze functies geldt gewoon: check de variabelen die je gebruikt bij het aanroepen, en zorg ervoor dat je alles wat de scripts doen terug kan draaien. Er gaat niets boven een goeie undo-functie :)

edit: ik vind het soms wel knap hoeveel mensen lijken te weten over iets waarvan ze totaal geen context hebben, en het maar moeten doen de stereotype context (beginner probeert iets onveiligs gemakkelijker te maken, en gemakkelijker misbruikbaar te maken)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
- SanThe -

- SanThe -

18/05/2009 22:44:00
Quote Anchor link
Je wilt iets gaan doen met php dat op de server dingen gaat doen met root rechten. Hoe lek wil je het hebben? Niet doen is eigenlijk de enige optie die je hebt.

Edit: Als ik op mijn OpenBSD bakkie iets wil doen met 'sudo' als gewone user krijg ik deze melding:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Jelmer -

Jelmer -

18/05/2009 22:50:00
Quote Anchor link
Okee dan, de clichévraag dan maar: hoe zou jij het doen?

Stel, ik heb een machine waarop ik voor bijvoorbeeld een groep studenten accounts aan wil maken. Ieder een eigen account zodat ze alle functies van de machine kunnen gebruiken via ssh, en hun eigen stukje schijfruimte, stukje webspace, etc. Zeg maar standaard ouderwets hosting. Ik heb geen idee welke studenten allemaal interesse hebben, en het zijn er teveel om ze te laten mailen en ze met de hand toe te voegen. Dus ik denk: laat ik een scriptje maken dat ze een account geeft. Gewoon op basis van hun studentnummer dat ik door een andere server laat checken etc. of het een legitieme student is, en of hij is ingeschreven, en of hij niet al een account had. Het checken gaat al goed. Hoe moet ik dit dan doen, hoe moet ik de linux machine gebruikers aan laten maken?

edit: clichévraag of niet, ik ben eigenlijk wel benieuwd naar het antwoord. Ik kan me wel situaties bedenken waarin een goeie oplossing voor een soortgelijk probleem toch wel handig is. Daarnaast kan je bij het maken van zo'n script goed nadenken over de beveiliging. Hoeveel ben je daarmee bezig wanneer je 15 mailtjes aan het verwerken bent? Ik denk dat zo'n "onveilig" script zelfs in je voordeel zou kunnen werken.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Sander W

sander W

18/05/2009 22:51:00
Quote Anchor link
Jelmer schreef op 18.05.2009 22:43:
Zou je de mogelijkheden al niet wat kunnen imperken door via sudo de user waar apache onder draait adduser toegang te geven? Dan zijn de mogelijkheden al iets minder. Je moet nog wel oppassen voor gemene trucjes, maar ik neem aan dat dit alleen voor intern gebruik is, en niet direct van buiten door iemand anders dan jij en de mensen die jij vertrouwt is aan te roepen.

exec en system zijn binnen PHP allebij even onveilig (net als backticks en shell_exec, passthru en alle andere functies die direct toegang hebben tot het systeem. Voor al deze functies geldt gewoon: check de variabelen die je gebruikt bij het aanroepen, en zorg ervoor dat je alles wat de scripts doen terug kan draaien. Er gaat niets boven een goeie undo-functie :)

edit: ik vind het soms wel knap hoeveel mensen lijken te weten over iets waarvan ze totaal geen context hebben, en het maar moeten doen de stereotype context (beginner probeert iets onveiligs gemakkelijker te maken, en gemakkelijker misbruikbaar te maken)


Thanks voor de info,
en inderdaad, veiligheid speelt helemaal geen rol omdat deze server puur lokaal gebruikt wordt door mij alleen.
Ik wil jullie het hele verhaal besparen waarom juist dit scriptje voor mij zo handig zou zijn omdat het anders een te groot verhaal wordt :)
Dus mensen, de veiligheid mag je laten varen bij het uitwerken van een idee :)
 
- SanThe -

- SanThe -

18/05/2009 22:58:00
Quote Anchor link
@Jelmer: Heb je het tegen TS of tegen mij?
Je noemt al een aantal controles waarmee je checked of het inderdaad een toelaatbaar iemand is. Ik denk dat die personen dan het best een mail met daarin een vastgestelde syntax met de gegevens kunnen sturen naar een speciaal daarvoor bestemd emailadres. Achter dat adres kan dan een compleet script (geen php maar bash) zitten die alle gegevens controleert en eventueel een user kan aanmaken met alle rechten en restricties.
 
Jelmer -

Jelmer -

18/05/2009 23:01:00
Quote Anchor link
@SanThe is dat niet verplaatsen van het probleem? Nu moet je een mailserver met een trigger-achtig systeem hebben die een bash-script de "gevaarlijke handeling" laat doen. Hoe is dit veiliger dan een gewone veilige PHP installatie met wat extra rechten als het gaat om adduser?
 
- SanThe -

- SanThe -

18/05/2009 23:09:00
Quote Anchor link
@Jelmer: Ik denk, en dan kijk ik naar mijn ervaring, dat een bash script veel meer mogelijkheden heeft en uiteindelijk veel krachtiger kan zijn dan een php-script. Maar inderdaad, als je vanuit php het script aanroept met diverse parameters dan blijft het risico exact hetzelfde. (Het begint ook voor mij wat laat (=vaag) te worden).

sander schreef op 18.05.2009 22:51:
... deze server puur lokaal gebruikt wordt door mij alleen

Even inloggen en adduser doen. Ik neem aan dat je dit slechts heel zelden hoeft te doen aangezien jij de enige gebruiker bent.
 
Sander W

sander W

18/05/2009 23:17:00
Quote Anchor link
sander schreef op 18.05.2009 22:51:
... deze server puur lokaal gebruikt wordt door mij alleen

Quote:
Even inloggen en adduser doen. Ik neem aan dat je dit slechts heel zelden hoeft te doen aangezien jij de enige gebruiker bent.


Ik snap je aanname niet, als die juist was, was ik dit topic niet begonnen :)
Gewijzigd op 01/01/1970 01:00:00 door sander W
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.