phpbar.de logo

Mailinglisten-Archive

[php] UNIX-Gruppe erstellen mit php

[php] UNIX-Gruppe erstellen mit php

Andreas Heigl a.heigl at wdv.de
Die Feb 14 10:40:17 CET 2006


> Hallo Patrick,
>
> Am Montag, 13. Februar 2006 23:38 schrieb Patrick Pfeiffer:
>> Ich will mittels php eine Unix-Gruppe erstellen. Ich denke da an das
>> Kommando: "groupadd".
>>  [...]

>> Gibt es eine andere Möglichkeit Unix-Befehle über PHP mit root- 
>> Rechten
>> auszuführen?
>
> den Befehl groupadd kannst Du vermutlich schon mit PHP ausführen.  
> Ich habe
> gerade mal auf meinem System geguckt. Da sind die Rechte für  
> groupadd auf
> rwx,rx,rx gesetzt. Der Haken ist, daß groupadd Dateien editiert,  
> die nur für
> root lesbar ist. Daher kommt bei mir, wenn ich groupadd als  
> normaler Benutzer
> ausführe, auch die Meldung: "groupadd: Kann Gruppendatei nicht  
> sperren".
> Folglich wird die Gruppe nicht angelegt.
>
> Aus meiner Sicht kannst Du das Problem schon über die /etc/sudoer- 
> Datei lösen,
> wenn Du weißt, was Du tust. In /etc/sudoer kannst Du einen einzigen  
> Befehl
> für einen ganz bestimmten Benutzer freigeben. In Deinem Fall kannst  
> Du also
> sagen, nur der Benutzer wwwrun bzw. apache den Befehl addgroup mit
> root-Rechten ausführen darf.
>
> Der Server kann dann also nur addgroup mit root-Rechte ausführen  
> und nur im
> Rahmen der Möglichkeiten dieses Befehls Schaden auf Deinem System  
> anrichten.
> Du mußt halt dann für Dich abschätzen, ob Du diese Gefahr in Kauf  
> nehmen
> möchtest oder nicht. :-)

Ausserdem werden (normalerweise) alle sudo-befehle mitprotokolliert,  
so dass du zum einen feststellen kannst, wann ein spezieller Befehl  
ausgeführt wurde und sogar mit welchen Parametern, was eine  
nachträgliche Problemsuche unter Umständen stark vereinfachen kann.
(beim Befehl groupadd kannst du feststellen, welche Gruppen angelegt  
wurden und die dann schlimmstenfalls manuell wieder löschen.

Ein Eintrag in deiner Datei /etc/sudoers könnte dann z.B. so aussehen:
apache 192.168.1.1 = (root) NOPASSWD:  /path/to/groupadd

(wenn ich das richtig im Kopf habe)

HTH

Grüße

Andreas
-- 
Andreas Heigl
Tel: +49 6172 670 185
Fax: +49 6172 670 181



php::bar PHP Wiki   -   Listenarchive