Andere linux user PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Ricardo -

- Ricardo -

25/06/2010 18:46:11
Quote Anchor link
Ha iedereen,

Ik wil met PHP een binary opstarten, alleen de standaard user waarmee PHP deze draait is www-data o.i.d., maar ik wil dit graag onder een andere user opstarten. Is dat mogelijk ? En zoja hoe ;-) ?

Alvast bedankt!
Ricardo
 
PHP hulp

PHP hulp

27/04/2024 01:20:06
 
Piet Verhagen

Piet Verhagen

25/06/2010 19:22:59
Quote Anchor link
Als je een eigen server hebt met root toegang is er wellicht 1 en ander mogelijk, maar anders: nee. Als dat wel zou kunnen zou dat een groot veiligheid risico zijn. Want dan kun je namelijk directory's en bestanden van andere gebruikers op de server bekijken. Zou leuk zijn :) Maar die andere gebruikers kunnen dat dan ook bij jou, en das minder.
 
- Ricardo -

- Ricardo -

25/06/2010 23:07:01
Quote Anchor link
Ja het gaat om mijn eigen server met root toegang. Ook gaat het om een privé omgeving, opstarten van gameservers. Is het op een of andere manier mogelijk om elke gameserver onder een andere user op te starten ? Dit omdat anders de configfiles van een game allemaal overschreven worden in de home map van een user.
 
TJVB tvb

TJVB tvb

25/06/2010 23:16:39
Quote Anchor link
Met bijvoorbeeld mod_ruid kun je de user waaronder een website draait aanpassen.
 
Jelmer -

Jelmer -

26/06/2010 10:09:50
Quote Anchor link
Of mod_suphp, volgens mij vaker gebruikt.
 
Piet Verhagen

Piet Verhagen

26/06/2010 16:55:04
Quote Anchor link
Daar bereik je mee dat de site onder andere user draait. Dat is niet wat TS wil als ik het goed begrijp.
Quote:
Ik wil met PHP een binary opstarten ... ik wil dit graag onder een andere user opstarten

en
Quote:
Is het op een of andere manier mogelijk om elke gameserver onder een andere user op te starten

Meerdere binary's opstarten onder verschillende user's. Welke user PHP zelf draait is neit van belang.

Heb je al ge-Googled en al iets geprobeerd met setuid?
 
Ruben Portier

Ruben Portier

26/06/2010 17:08:00
Quote Anchor link
Wat hij precies wil is het volgende:
hij wil namelijk dat hij met php een nieuwe user kan aanmaken.
Dus dat hij bv een user maakt als user01.
Dan maakt hij in de map /home/ een nieuwe map user01 genaamd en wil hij met php die map chown'en naar de user user01.
Daarna wil hij via php als user01 een bestand starten uit die map.

Het klinkt ingewikkeld, maar het komt er eigenlijk op neer dat hij met php een user maakt, een map maakt, die map chown'en en een file start (via die net aangemaakte user).

EDIT: Deze link kan misschien al een eerste stap zijn?
http://www.weberdev.com/get_example-3766.html

EDIT2: Volgens mij moet je beginnen met iets als: exec(useradd user01 -ppassword -d/home/user01);
Gewijzigd op 26/06/2010 17:22:57 door Ruben Portier
 
Piet Verhagen

Piet Verhagen

26/06/2010 18:55:44
Quote Anchor link
Ik lees nergens dat TS nieuwe users aan wil maken. Moet er dan elke keer als een game server gestart word een nieuwe user gemaakt worden? Ik weet niet hoeveel keer het gaat gebeuren dat een game server gestart moet worden, maar dan heb je na een paar maanden misschien wel honderden gebruikers op het systeem?

Kleine opmerking: de enige die in Linux een user aan het systeem kan toevoegen is root. Niemand anders kan dat. Zomaar even vanuit PHP een user toevoegen zal dus niet gaan want PHP draait niet als root.
Gewijzigd op 26/06/2010 18:59:57 door Piet Verhagen
 
Niels K

Niels K

26/06/2010 18:59:47
Quote Anchor link
@Piet,

Ik denk alleen als een game server aangemaakt word?

@Ruben
Dus eigenlijk gewoon een control panel als ik het zo zie..
 
Ruben Portier

Ruben Portier

27/06/2010 01:24:50
Quote Anchor link
@Piet Verhagen: ik weet wat Ricardo wil omdat ik hem daarbij help ook via msn enzo. Maar ik leg even uit wat precies de bedoeling is eigenlijk.

Ik maak een nieuwe account (website) die heeft bijvoorbeeld klant01.
Dan geef ik die klant 1 servers, voor die server wordt een nieuwe user in linux aangemaakt met als naam: server01. Die krijgt ook zijn eigen home directory.

Als de klant via de site inlogt en dan zijn server start moet PHP het bestand waarmee de server wordt gestart openen als de server01 user.

Maar om die user te maken, kan je niet iets maken dat je met PHP een bash bestand opent, en dat die bash dan een user aanmaakt?
Dan maak je dus in PHP dat je eerst een username opgeeft ofzo (server02). Dan slaat hij dat op in een tekstfile en opent die bash. Die bash haalt dan de username uit dat tekstbestand.

Dit zou misschien wel kunnen werken.
 
Piet Verhagen

Piet Verhagen

27/06/2010 11:53:38
Quote Anchor link
Je ontkomt er niet aan dat alleen root een user toe kan voegen.
Gewijzigd op 27/06/2010 11:56:43 door Piet Verhagen
 
- SanThe -

- SanThe -

27/06/2010 12:21:19
Quote Anchor link
Je kan dit wel doen maar het blijft altijd een veiligheidsrisico.

Laat een cron onder root draaien die kijkt of er een bestandje staat op een plek die buiten de webroot ligt. Zo ja dan kan dat bestandje gelezen worden en een nieuwe user aangemaakt worden. Daarna het bestandje verwijderen.

In php zet je dan enkel op die plek een bestandje neer met de juiste inhoud.

Echter, nogmaals, het kan misbruikt worden. Dus weet wat je doet.

Edit:
Zet op zijn minst zo'n accout op nologin, dan kan men niet zomaar op de server inloggen.
Gewijzigd op 27/06/2010 12:29:24 door - SanThe -
 
Jelmer -

Jelmer -

27/06/2010 14:37:54
Quote Anchor link
Zou je niet sudo zo kunnen instellen dat de php gebruiker useradd mag aanroepen?
 
Piet Verhagen

Piet Verhagen

27/06/2010 15:12:04
Quote Anchor link
Moet je wel het wachtwoord invoeren. In de console word dat apart gevraagd op een aparte regel nadat je het sudo command ingevoerd hebt. Maar misschien kun je het wachtwoord direct in de commando regel zetten?
 
- Ricardo -

- Ricardo -

28/06/2010 12:51:46
Quote Anchor link
Jelmer rrrr op 26/06/2010 10:09:50:
Of mod_suphp, volgens mij vaker gebruikt.


Bedankt! Volgens mij gaat het hiermee lukken :-)

Ook de rest bedankt natuurlijk voor de opmerkingen, mocht het toch mislopen met deze methode zal ik zeker eens naar de andere aangedragen oplossingen kijken.
Gewijzigd op 28/06/2010 12:52:17 door - Ricardo -
 
TJVB tvb

TJVB tvb

28/06/2010 13:20:06
Quote Anchor link
Jelmer rrrr op 26/06/2010 10:09:50:
Of mod_suphp, volgens mij vaker gebruikt.

Ik zat al te denken er was er nog een mogelijkheid.
Er zit vooral verschil in of je PHP in CLI of CGI mode draait. suPHP draait niet onder CLI.
 



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.