Besitzer von Ordner ändern im Safe-Mode
Klaus
- php
Hallo,
also ich habe eine typische LAMP Umgebung, wobei PHP im Safe-Mode läuft.
Jetzt muss ein Script einen Ordner erstellen (mkdir) und dann den Besitzer anpassen (chown).
Da aber PHP im Safe-Mode läuft, funktioniert dies nicht.
Also dachte ich, ich rufe per system(); den Linuxbefehl 'chown' auf (vorher in ein speziellen Ordner kopiert).
Allerdings ist dort das gleiche Problem.
Wenn ich einen Ordner erstelle, kann ich den Besitzer nur ändern, wenn ich root-Rechte habe.
Da aber Apache als wwwrun läuft, ist das ja nur schlecht möglich, und ich möchte ihn nicht als root laufen lassen.
Hat jmd. eine Idee wie ich das umgehen kann?
MFG
Klaus
Hallo,
also bei strato kann ich via ftp die rechte eines ordners auf 777 stellen, dann kann ich darin machen wattickwill, zumindest dateien erstellen, ordner weiß ich nicht. hab ich damit gleichzeitig root-rechte? weiß ich nicht, weil ich nicht weiß was root-rechte sind...;
gruß, frankx
Hallo fankx.
also bei strato kann ich via ftp die rechte eines ordners auf 777 stellen, dann kann ich darin machen wattickwill, zumindest dateien erstellen, ordner weiß ich nicht.
Natürlich. 777 ist der „Jeder darf alles“-Schlüssel.
hab ich damit gleichzeitig root-rechte?
Nein.
weiß ich nicht, weil ich nicht weiß was root-rechte sind...;
Der Benutzer root bzw. die Angehörigen der Gruppe root haben überall Lese- und Schreibrechte und dürfen damit praktisch alles, was möglich ist.
Einen schönen Donnerstag noch.
Gruß, Ashura
Hi,
Hat jmd. eine Idee wie ich das umgehen kann?
Den Ordner mittels FTP anlegen und auch per FTP die Rechte 0777 setzen.
Das kann PHP auch.
Gruß, Cybaer
Aber um Mißverständnissen vorzubeugen: Den Owner wirst Du trotzdem nicht ändern können. ;-)
Nur hat PHP dann eben den Ordner, den PHP haben will. :)
Gruß, Cybaer
Hallo,
Hat jmd. eine Idee wie ich das umgehen kann?
Den Ordner mittels FTP anlegen und auch per FTP die Rechte 0777 setzen.
Das wird nicht viel bringen.
Es ist so, ich habe einen FTP-Server mit MySQL-Auth. Jetzt muss ich für diesen User aber ein Homedir anlegen.
Diese User in der MySQL-Tabelle existieren aber nicht am realem System.
So den User kann ich ja ganz einfach per PHP => INSERT anlegen, aber ich muss gleichzeitig ein existierendes Homedir anlegen.
Damit ich nicht CHMOD 0777 benutzen muss, wollte ich den Besitzer auf den neuen, virtuellen User ändern.
Sofern ich root Rechte habe, funktioniert dies auch einwandfrei.
MFG
Klaus
Hi,
Es ist so, ich habe einen FTP-Server mit MySQL-Auth. Jetzt muss ich für diesen User aber ein Homedir anlegen.
? *Du* bist der Hoster? Es ist *den* System - nicht das eines beliebigen Providers XY mit safe mode?
Sofern ich root Rechte habe, funktioniert dies auch einwandfrei.
Du *hast* root-Rechte, aber willst sie nur nicht einsetzen?
Gruß, Cybaer
Hallo,
? *Du* bist der Hoster? Es ist *den* System - nicht das eines beliebigen Providers XY mit safe mode?
Ja ich bin der Hoster, der Server ist aber per Internet nicht zu erreichen. Ist nur 'lerning by doing'
Sofern ich root Rechte habe, funktioniert dies auch einwandfrei.
Du *hast* root-Rechte, aber willst sie nur nicht einsetzen?
Ja ich habe root-Rechte, aber mein Apache soll __nicht__ als Root laufen.
Desweiteren möchte ich nicht immer per Hand den Eigentümer ändern, dies soll der PHP Script automatisch erledigen.
MFG
Klaus
Hi,
Hallo,
? *Du* bist der Hoster? Es ist *den* System - nicht das eines beliebigen Providers XY mit safe mode?
Ja ich bin der Hoster, der Server ist aber per Internet nicht zu erreichen. Ist nur 'lerning by doing'Sofern ich root Rechte habe, funktioniert dies auch einwandfrei.
Du *hast* root-Rechte, aber willst sie nur nicht einsetzen?
Ja ich habe root-Rechte, aber mein Apache soll __nicht__ als Root laufen.
Desweiteren möchte ich nicht immer per Hand den Eigentümer ändern, dies soll der PHP Script automatisch erledigen.MFG
Klaus
Gruß, Cybaer
Hi,
(oops)
Ja ich habe root-Rechte, aber mein Apache soll __nicht__ als Root laufen.
Desweiteren möchte ich nicht immer per Hand den Eigentümer ändern, dies soll der PHP Script automatisch erledigen.
Natürlich soll der Apache nicht als root laufen. Aber ein Shellscript, das kann.
Gruß, Cybaer
Hallo,
also ich habe eine typische LAMP Umgebung, wobei PHP im Safe-Mode läuft.
Jetzt muss ein Script einen Ordner erstellen (mkdir) und dann den Besitzer anpassen (chown).Da aber PHP im Safe-Mode läuft, funktioniert dies nicht.
Also dachte ich, ich rufe per system(); den Linuxbefehl 'chown' auf (vorher in ein speziellen Ordner kopiert).
Allerdings ist dort das gleiche Problem.Wenn ich einen Ordner erstelle, kann ich den Besitzer nur ändern, wenn ich root-Rechte habe.
Da aber Apache als wwwrun läuft, ist das ja nur schlecht möglich, und ich möchte ihn nicht als root laufen lassen.Hat jmd. eine Idee wie ich das umgehen kann?
MFG
Klaus
Probier mal ein Bash Script anzulegen welches als 1. Parameter den Pfad und als 2. Parameter den Usernamen übertragen bekommt. In diesem Bash Script änderst du dann mit chown den Pfad $1 auf den Benutzer $2. Dann als Eigentümer des Bash Scriptes root wählen und das Setuid-Bit der Datei setzen. Schlussendlich in deinem PHP File mit system das Script aufrufen und die gewünschten Parameter übergeben.
Dadurch das das Setuid-Bit gesetzt ist wird dieses Bash Script mit root Rechten ausgeführt und das ändern des Benutzers funktioniert dann auch.