Page 1 of 1

chown befehl + über www ausführen

Posted: 2005-01-03 13:31
by virus
Hi

ich ahbe folgendes problem:

ich habe auf meinem server daten die bei benutzer web27 liegen, aber dem user www-data gehören.

ich kann die dateien dort daher nicht bearbeiten, nun dachte ich mir hmm machst nen shell script das de rper cronjob regelmäsig ausführen lässt und das die owner rechte der dateien und ordner an web27 überträgt

klappt auch soweit

aber! wenn die dateien web27 gehören muss www-data drauf zugreifen beim verändern! also kommt permission denied!

ich will das script nun per http:// ausführbar machen, und ein 2tes script machen auch per http:// ausführbar das die rechte an den user www-data zurück überträgt

num zu meiner frage:

kann ich das script so ausführbar machen, das es über nen http:// befehl gestartet wird, aber vom user root ausgeführt wird, weil www-data dürfte ja nicht die erforderlichen rechte für den befehl chown haben?

es soll über wbb ausgeführt werden weil mehrere leute die dateien bearbeiten müssen, ich aber nur die root rechte habe und sie nicht rausgeben möchte.

mfg.
Virus

Re: chown befehl + über www ausführen

Posted: 2005-01-05 20:04
by myname
Wenn Du für diese Aufgabe ein Programm in C o.ä. schreibst, dies in den cgi-bin Ordner packst, dieses Programm mit dem Setuid Bit versiehst, sollte es eigentlich kein Problem sein.

Probleme könnte hierbei jedoch suexec machen, sofern installiert.

Dieses Programm könnte man aber auch durch ein normales Skript aufrufen. Es müßte dann auch nicht im cgi-bin Ordner liegen und suexec dürfte AFAIK keine Probleme machen.

Re: chown befehl + über www ausführen

Posted: 2005-01-05 22:54
by thrawn1024
sudo hilft dir weiter, wenn du kein setuid root verwenden willst..

Re: chown befehl + über www ausführen

Posted: 2005-01-10 15:41
by d3nation
jap ich würde auch sudo sagen, installieren, sudoers file per "visudo" bearbeiten und anschliesend von der !php seite

Code: Select all

system("sudo -u www-data chown ./pfad-zu-den-datein * web27");
mfg

dee

Re: chown befehl + über www ausführen

Posted: 2005-01-10 15:51
by kase
Ich bezweifel, dass er als www-run chown web27 machen kann, müsste dann schon ein -u root sein :)

Aber vielleicht solltest du dir einfach mal Gedanken über deine PHP-Installation machen. Wie wäre es mit einer Konfiguration, bei der die php Scripte nicht als www-run, sondern ebenfalls als ftp User ausgeführt werden, dann hättest du sämtliche Probleme nicht. Beispiele wären hier: PHP-CGI, PHP-FastCGI, Mutex-MPM, usw, usw...

Re: chown befehl + über www ausführen

Posted: 2005-01-10 16:06
by d3nation
hehe augen auf :lol:

ich hab nicht wwwrun geschrieben sondern wwwdata. wwwdata gehören die datein sowie ich dass rauslesen konnte. Richtig?
ich habe auf meinem server daten die bei benutzer web27 liegen, aber dem user www-data gehören
dann sollte es eigentlich gehen.. oder? :D

aber hast recht mit der php installation nur vielleicht ein _bisschen_ aufwendiger? ;)


mfg
dee

Re: chown befehl + über www ausführen

Posted: 2005-01-10 18:55
by kase
Nein, IMHO geht es trotzdem nicht... Zumindest bei meinem Debian Sarge geht es nicht...

Code: Select all

kase@legendz:~$ ls -l test.pl
-rwxr-xr-x  1 kase users 109 Dec  3 14:25 test.pl
kase@legendz:~$ id
uid=1000(kase) gid=100(users) groups=100(users)
kase@legendz:~$ chown legendz:users test.pl
chown: changing ownership of `test.pl': Operation not permitted
Wie du siehst, obwohl die test.pl dem User kase gehört, kann ich als User kase kein chown auf einen anderen User machen.

Und ich meinte in meinem Post www-data, hatte mich nur verschrieben^^

Re: chown befehl + über www ausführen

Posted: 2005-01-10 20:03
by cfreak
kase wrote:Wie du siehst, obwohl die test.pl dem User kase gehört, kann ich als User kase kein chown auf einen anderen User machen.
ist doch klar stell dir mal vor es wäre anders..

leg ich eine Datei an mit irgendeinem müll und schieb die einfach einem anderen User in die Schuhe, da der wird sich freuen :)

Re: chown befehl + über www ausführen

Posted: 2005-01-10 20:20
by kase
Jo, mir ist das durchaus klar, warum das so ist ;)

Das ganze war nur auf den Post von d3nation bezogen...