Owner ändern oder Rechte für Script? |
Andy
Pixelschubser Threadstarter
Beiträge: 12 |
Hallo,
ich habe auf einem Server unter Confixx ein Verzeichnis an einen extra FTP-User zugewiesen.
Nun brauche ich aber die Möglichkeit, hochgeladene Dateien aus einem PHP-Script des Hauptbenutzers heraus zu löschen.
Der Server verweigert das aber trotz chmod777, da PHP bzw die Site unter einem dem Hauptuser läuft und die Dateien dem zusätzlichen FTP-User gehören.
Bei der ganzen Sache geht es um einen externen ftp-Upload in ein CMS und die Verzeichnispflege aus dem System heraus.
Gibt es eine Möglichkeit, aus php oder im ftp den Owner der hochgeladenen Files zu ändern?
Oder kann ich irgendwie auch dem Hauptuser zusätzlich Löschrechte geben?
Auf dem alten Server ging das problemlos, aber da liefen die Sites unter demselben user wie ftp...
Ach so, Safe Mode ist OFF.
Irgendeine Idee?
Hier noch ein paar Infos aus der phpinfo:
---------------
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118: | [small]
Apache Environment
Variable Value
DOCUMENT_ROOT /home/########
HTTP_ACCEPT text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_ACCEPT_LANGUAGE de,en-us;q=0.7,en;q=0.3
HTTP_CONNECTION keep-alive
HTTP_COOKIE PHPSESSID=###############
HTTP_HOST ##############
HTTP_KEEP_ALIVE 300
HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
PATH /bin:/usr/bin:/sbin:/usr/sbin
REMOTE_ADDR ##################
REMOTE_PORT ########
SCRIPT_FILENAME /home/www/#######/infophp.php
SERVER_ADDR ##############
...
SERVER_PORT 80
SERVER_SIGNATURE Apache/1.3.26 Server at ########### Port 80
SERVER_SOFTWARE Apache
UNIQUE_ID QjOODtRw-wgAAA7rQQs
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING
....
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip,deflate
Accept-Language de,en-us;q=0.7,en;q=0.3
Connection keep-alive
Cookie PHPSESSID=###################
Host #############
Keep-Alive 300
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
HTTP Response Headers
X-Powered-By PHP/4.1.2
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html; charset=iso-8859-1
Additional Modules
sysvshm
sysvsem
filepro
session mm
Environment
Variable Value
PWD /var/log/apache
LS_OPTIONS --color=auto
USER root
LS_COLORS no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:
MAIL /var/mail/root
LANG C
SSH_CLIENT ##############
LOGNAME root
SHLVL 2
SHELL /bin/bash
HOME /root
TERM xterm
PATH /bin:/usr/bin:/sbin:/usr/sbin
SSH_TTY /dev/pts/1
_ /sbin/start-stop-daemon
PHP Variables
Variable Value
PHP_SELF /#########/infophp.php
_COOKIE["PHPSESSID"] ################
_SERVER["DOCUMENT_ROOT"] /home/www/#####/html
_SERVER["HTTP_ACCEPT"] text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7
_SERVER["HTTP_ACCEPT_ENCODING"] gzip,deflate
_SERVER["HTTP_ACCEPT_LANGUAGE"] de,en-us;q=0.7,en;q=0.3
_SERVER["HTTP_CONNECTION"] keep-alive
_SERVER["HTTP_COOKIE"] PHPSESSID=950a43e35599841652fcb7bf218b84cd
_SERVER["HTTP_HOST"] ############
_SERVER["HTTP_KEEP_ALIVE"] 300
_SERVER["HTTP_USER_AGENT"] Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
_SERVER["PATH"] /bin:/usr/bin:/sbin:/usr/sbin
_SERVER["REMOTE_ADDR"] 84.161.36.167
_SERVER["REMOTE_PORT"] 33949
_SERVER["SCRIPT_FILENAME"] /home/www/###############/infophp.php
...
_SERVER["SERVER_SOFTWARE"] Apache
_SERVER["UNIQUE_ID"] QjOODtRw-wgAAA7rQQs
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"]
_...
ERVER["argv"]
Array
(
)
_SERVER["argc"] 0
_ENV["PWD"] /var/log/apache
_ENV["LS_OPTIONS"] --color=auto
_ENV["USER"] root
_ENV["LS_COLORS"] no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:
_ENV["MAIL"] /var/mail/root
_ENV["LANG"] C
_
_ENV["LOGNAME"] root
_ENV["SHLVL"] 2
_ENV["SHELL"] /bin/bash
_ENV["HOME"] /root
_ENV["TERM"] xterm
_ENV["PATH"] /bin:/usr/bin:/sbin:/usr/sbin
_ENV["SSH_TTY"] /dev/pts/1
_ENV["_"] /sbin/start-stop-daemon [/small] |
---
"Der häufigste Fehler von Leuten, die etwas absolut idiotensicheres konstruieren wollen, ist, dass sie die Kreativität von absoluten Idioten unterschätzen!"
Diese Nachricht wurde geändert von: Andy |
 Profil
Website
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
PHP kennt auch chmod.
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Andy
Pixelschubser Threadstarter
Beiträge: 12 |
Danke für den Tipp - aber das war das allererste, was ich versucht habe (schon im ftp).
Leider auch hat php mit 777 unter dem anderen User keinen Schreib-/Löschzugriff.
---
"Der häufigste Fehler von Leuten, die etwas absolut idiotensicheres konstruieren wollen, ist, dass sie die Kreativität von absoluten Idioten unterschätzen!"
Diese Nachricht wurde geändert von: Andy |
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
hat er den chmod denn auch wirklich übernommen für die Datei??? Mit 777 muss jeder vollen Zugriff darauf haben.
|
 Profil
Editieren
Zitieren
|
Andy
Pixelschubser Threadstarter
Beiträge: 12 |
Yep. Mit beiden usern wird im ftp-proggy 777 angezeigt. Nur löschen geht nicht vom "nicht-owner" aus, nichtmal umbenennen.
Wo könnten die restrictions denn noch herkommen?
---
"Der häufigste Fehler von Leuten, die etwas absolut idiotensicheres konstruieren wollen, ist, dass sie die Kreativität von absoluten Idioten unterschätzen!"
Diese Nachricht wurde geändert von: Andy |
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
hm, vom FTP-Programm? ;)
Nein, ist bei dem Verzeichnis vielleicht das Sticky-Bit gesetzt? (Oktalwert 1000)
|
 Profil
Editieren
Zitieren
|
Andy
Pixelschubser Threadstarter
Beiträge: 12 |
Nee, fsftp_pro sollte da kein Problem haben
Inzwischen ist mir aufgefallen, dass bei den files des Standardusers der Domain (web20), unter dem auch Website läuft, als Gruppe "ftponly" steht. Bei den files des zusätzlichen ftp-user web20f1 steht als Gruppe dagegen www-data. Die Infos bekomme ich jedenfalls mit webadmin.php so angezeigt.
Bei den Rechten der Files habe ich -rwxrwxrwx (also 777), und zwar auch bei den löschbaren files in den anderen Verzeichnissen.
Wie gesagt, es geht um den Inhalt eines Verzeichnisses, das ich dem zusätzlichen ftp-user web20f1 zugewiesen habe, der dadurch zum Owner geworden ist.
Geht das denn nicht irgendwie, dass der Hauptuser (web20) trotzdem noch vollen Zugriff hat?
---
"Der häufigste Fehler von Leuten, die etwas absolut idiotensicheres konstruieren wollen, ist, dass sie die Kreativität von absoluten Idioten unterschätzen!"
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Halt, ich wollte nicht die Rechte der Dateien sonder die Rechte des Verzeichnisses wissen. Wenn dort das Sticky-Bit gesetzt ist können nur die Owner einer Datei diese auch löschen, egal was für rechte die Datei hat.
|
 Profil
Editieren
Zitieren
|
Andy
Pixelschubser Threadstarter
Beiträge: 12 |
wie komme ich an das Sticky Bit ran? WS Ftp zeigt nix, bei LeechFTP hab ich auch noch nix gefunden...?
OK, habe SmartFTP geladen, zeigt UID, GUID und Sticky an - scheinbar ist keines davon gesetzt.
Allerdings kann ich die Zusatzbits nicht ändern - bekomme "chmod failed", die anderen Rechte kann ich mit chmod problemlos ändern (nur als owner).
Das muss etwas grundsätzlich mit der Rechteverwaltung unter Confixx zu tun haben...
---
"Der häufigste Fehler von Leuten, die etwas absolut idiotensicheres konstruieren wollen, ist, dass sie die Kreativität von absoluten Idioten unterschätzen!"
Diese Nachricht wurde geändert von: Andy |
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Frag mal bei deinem Hoster nach. Das scheint außerhalb deines Einflussgebietes zu liegen.
|
 Profil
Editieren
Zitieren
|