webForumDet fria alternativet

Skapa mailkonto

Linux & BSD

3 svar · 171 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Frågan#1

Hej.

Hur skapar man mailkonton från prompten i Linux? Tänkte använda mig av PHP för att skapa nya konton, mha exec() eller system().

------------------
---
/* LilleSkutt */

Medlem sedan aug. 200086 inlägg
#2

useradd(8) skapar du konton med.
Men det verkar inte som en bra idé att anropa det från ett PHP-script, eftersom det kräver root-rättigheter för att skapa konton, och då måste du köra webservern med root-rättigheter - och det luktar juh säkerhetshål lång väg.

Gör istället ett litet c-program (kan juh vara pascal oxo =)) som anropar useradd(8) efter att ha gjort lite sanitychecks kanske. Se till att programmet blir suid->root bara.

Tänk på att:

system( "useradd $newuser" );

lätt blir:

$newuser = "minuser; rm -rf /";
system( "useradd minuser; rm -rf /" );

och med root-rättigheter är det en dålig idé.

[r] jag kan varken stava eller tänka..

[Redigerat av jsundin den 02 okt 2001]

Medlem sedan feb. 2001265 inlägg
#3

OK, men om jag nu gör ett program som kör useradd(8), så måste jag ju kontakta det från PHP också. Blir det inte rättighetsstrul då med?

------------------
---
/* LilleSkutt */

Medlem sedan aug. 200086 inlägg
#4

Nejdå, webservern körs juh som nobody (eller www, eller ngt sånt - förhoppningsvis).

Så även om du kör typ:

system( "/usr/local/bin/my_useradd konto; rm -rf /" );

så kommer "rm -rf /" köras som samma användare som webservern kör med. Förhoppningsvis har inte webservern såna rättigheter.

Men för att vara på den säkra sidan kan du juh lägga till ngn regexp-koll på kontonamnet (kolla PHP-forumet, tyckte jag såg en sån regexp där nyss).

Sen kan du lägga till lite kontroller i ditt externa program oxo, så att det inte går att lura - kom ihåg att lokala användare antagligen kommer komma åt det här programmet.

273 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)