chown befehl + über www ausführen

Bash, Shell, PHP, Python, Perl, CGI
virus
Posts: 12
Joined: 2003-12-25 16:57

chown befehl + über www ausführen

Post by virus » 2005-01-03 13:31

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

myname
Posts: 96
Joined: 2003-10-31 11:12

Re: chown befehl + über www ausführen

Post by myname » 2005-01-05 20:04

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.

thrawn1024
Posts: 47
Joined: 2004-09-04 21:36

Re: chown befehl + über www ausführen

Post by thrawn1024 » 2005-01-05 22:54

sudo hilft dir weiter, wenn du kein setuid root verwenden willst..

d3nation
Posts: 68
Joined: 2004-11-30 14:09

Re: chown befehl + über www ausführen

Post by d3nation » 2005-01-10 15:41

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

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: chown befehl + über www ausführen

Post by kase » 2005-01-10 15:51

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...

d3nation
Posts: 68
Joined: 2004-11-30 14:09

Re: chown befehl + über www ausführen

Post by d3nation » 2005-01-10 16:06

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

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: chown befehl + über www ausführen

Post by kase » 2005-01-10 18:55

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^^

cfreak
Posts: 74
Joined: 2002-08-12 19:51
Location: Regensburg

Re: chown befehl + über www ausführen

Post by cfreak » 2005-01-10 20:03

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 :)

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: chown befehl + über www ausführen

Post by kase » 2005-01-10 20:20

Jo, mir ist das durchaus klar, warum das so ist ;)

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