Portal > Foren > PHP > PHP-Programmierung > php chmod auslesen und wieder setzen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 29.08.2007, 11:56 Nach oben    #1
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard php chmod auslesen und wieder setzen

Guten Morgen oder bessergesagt Guten Mittag,
ich hab mich schon seit langem nichtmehr hier aufgehallten doch jetzt ist wieder mal "not am mann", soll heißen ich habe ein Problem:
und zwar will ich mit einer PHP-Datei die chmod's von meinem gesammten webspace speichern und dann auch später wieder schreiben.

ansich funktioniert das script schon gut, was allerdings nicht so funktioniert ist das auslesen von chmods in odnern in denen die chmod's so gesetzt sind das man als normaler user nicht hinneinkommt.
jetzt ist mein problem diese auch zu erwischen meine 1rste idee hatte ich das ganze mit ftp zu machen illeicht habt ihr ja noch eine andere idee und önnt mir bei diesem Problem helfen.

mein 2tes Problem ist das schreiben. irgendwie setzt mein script die nicht richtig (nebenbei: das wird schon per FTP gemacht doch wäre es mir lieber wenn das ohne FTP funktionieren würde) als beispiel:
mein script hat einen chmod von: "204" gespeichert und beim einschreiben kommt ein: "314" herraus (das passt doch nicht)


Also ich würde mich wirklich sehr freuen wenn mir jemand weiterhelfen könnte. falls ich jetzt irgendwelche angaben vergessen habe sagt das bitte.

und nochwas ich möchte mich jetzt schon bedanken.
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 12:08 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

Fragen:
unter welchem Linux-user läuft der ftp-Server?
unter welchem Linux-user läuft der apache?
Jann Hendrik ist gerade online  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 12:12 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Vielleicht hilft dir das Tutorial hier bzgl. deiner Idee über den FTP-Weg zu gehen weiter?

[PHP] FTP-Funktionen in PHP nutzen
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 12:26 Nach oben    #4
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Fragen:
unter welchem Linux-user läuft der ftp-Server?
unter welchem Linux-user läuft der apache?
Diese kann ich nicht spezifisch festlegen da dieses Script universell einsetzbar sein soll und dabei müsste man villeicht z.b. bei dem apache user das ganze per script auslesen könnte.

aber dies möchte ich jetzt gleich mal mit fragen kann man das mit dem apache user oä anstellen?
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone

Geändert von cspiegl (29.08.2007 um 12:52 Uhr)
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 12:45 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hallo,
achte doch bitte etwas auf die Rechtschreibung. Danke!

Zitat:
Zitat von cspiegl Beitrag anzeigen
Diese kann ich nicht spezivisch festlegen da dieses Script universell einsetzbar sein soll und dabei müsste man villeicht z.b. bei dem apache user das ganze per script auslesen könnte.
"Universell" ist ein nettes Wort, allerdings musst du immer damit rechnen, dass es nicht überall erlaubt ist, die benötigten Funktionen überhaupt zu verwenden.

Hast du das Tutorial mal angeschaut? Hast du mal ausprobiert, ob es damit geht?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 12:56 Nach oben    #6
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

angesehen ja ausprobiert noch nicht da ich gerade noch nicht am programmieren bin aber am Ideen sammeln.
aber vielleicht bekomme ich das ja mit ftp hin.
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 14:38 Nach oben    #7
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

Also ich habe mir des Tutorial jetzt mal angesehen doch leider bekomme ich da nicht heraus wie ich die chmods per ftp auslesen kann. Wenn mir da villeicht jemand weiterhelfen könnte (google habe ich schon gefragt)
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 14:43 Nach oben    #8
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

Es ist auch gut so, dass du die CHMODs nicht aus Verzeichnissen auslesen kannst, auf die du keinen Zugriff hast. So soll das ja auch sein!? Ansonsten kann ich dein Problem leider nicht richtig nachvollziehen, wie wäre es mal mit Code-Schnipseln?
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 14:53 Nach oben    #9
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

das script soll aber von dem httpdocs Verzeichnis meines Servers ein "chmod-Backup" machen das ich dann bei z.b. einem abkratzen der Daten und einem einspielen der alten daten auch die "chmods" wieder einspielen kann.
daher soll auch von Verzeichnissen auf die man vom web aus keinen zugriff hat das Backup gemacht werden weil diese Verzeichnisse sollen ja auch nach dem einspielen des Backups wieder den chmod bekommen wie vorher genauso wie die Dateien welche in diesen Verzeichnissen sind.

also ist das einfachste ich erstelle das backup auch per FTP da kommt man ja in alle Verzeichnisse hinein die ich brauche (normalerweise jedenfalls) jetzt ist nur die rage wie man ein chmod (im Zahlenvormat) per php über den FTP auslesen kann.

eigentlich reicht mir sogar der Befehl den man ein einem Terminal FTP-client verwendet.
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 14:59 Nach oben    #10
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

Im Tutorial das Ben dir gegeben hat steht unter Punkt 3, dass die Funktion ftp_rawlist() die gewünschten Daten ausliest, die du haben willst, allerdings musst du den Zahlenwert selber errechnen lassen, dafür eine kleine Funktion geschrieben, die aus den Buchstaben am Anfang den Zahlencode generiert und fertig. Anders geht das so leider nicht - zumindest wüsste ich es nicht besser.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 15:01 Nach oben    #11
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

So meinte ich das auch. Hatte aber gedacht, dass man das selbst herausfinden könnte.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 15:17 Nach oben    #12
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

ja sorry das ich die idee hatte nur es einfacher wäre wenn man den gleich als zahlenwert bekommt, zudem wüste ich im moment auch nicht wie ich den zahlenwert errechnen soll.
daher hab ich nochmal gefragt.
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 15:24 Nach oben    #14
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

na dann werde ich mich da mal drüber machen (hoffentlich wird was draus das wäre dann ein guter Vorschritt für mich / mein Script.

Ich sage schonmal DANKE für eure Hilfe, ich werde mich melden sobald ich was neues habe
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 15:39 Nach oben    #15
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 306
Standard

Mach doch dein Packup mit tar. Dann bleiben die Rechte erhalten (gibt einen speziellen Parameter)
Wenn du root-Zugriff hast, machst du das direkt über die shell. Wenn nicht, bindest du deinen Space mit FUSE via FTP als Laufwerk ein (setzt Linux oder Mac OS X voraus) und machst dann so mit tar ein Backup.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.

Geändert von Bleistift (29.08.2007 um 15:41 Uhr)
Bleistift ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 15:58 Nach oben    #16
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ist wohl nicht das, was er will .. wenn ich mal von dem Wort "universell" ausgehe.

Trotzdem ein guter Beitrag, da das doch eine recht nette Alternative zu sein scheint.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.08.2007, 16:20 Nach oben    #17
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

stimmt das ist nicht ganz das was ich suche, doch danke für den tipp für meinen eigenen server werde ich das so anwenden. ich brache das script trotzdem, also werde ich mir wohl eine funktion schreiben welche den "text-chmod" in einen "zahlen-chmod" umwandelt.

das werde ich aber erst heute abend machen.
also dann bis bald.
__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.08.2007, 21:58 Nach oben    #18
Benutzer
 
Benutzerbild von cspiegl
 
Registriert seit: 03.12.2006
Beiträge: 55
Standard

SO,
Nun habe ich das mit dem Umwandeln ja schonmal hinbekommen:
PHP-Code:
function make_chmod($chmod_zeichen){
    for (
$i=0;$i<9;$i++){
        
$one substr($chmod_zeichen$i1);
        switch (
$one) {
            case 
"r":
                
$c 4;
                break;
            case 
"w":
                
$c 2;
                break;
            case 
"x":
                
$c 1;
                break;
            case 
"-":
                
$c 0;
                break;
        }
        if(
$i+<= 3){
            
$mod3 $mod3 $c;
        }elseif(
$i+<= AND $i+3){
            
$mod6 $mod6 $c;
        }elseif(
$i+<= AND $i+6){
            
$mod9 $mod9 $c;
        }
    }
    
$mod $mod3."".$mod6."".$mod9;
    
$chmod_zahlen $mod;
    return 
$chmod_zahlen;


Ich kann mir gut vorstellen das es einfacher geht (damit meine ich nicht so viele Zeilen Code, doch für den Moment habe ich es so gelöst.


Jedoch habe ich auch noch ein Problem beim wieder schreiben des Chmod.
Ich verwende eine Ausweichfunktion für das "ftp_chmod" das das script auf PHP4 und PHP5 läuft.
Dieses ist wie folgt aufgebaut:
PHP-Code:
if (!function_exists('ftp_chmod')) {
    function 
ftp_chmod($ftp_stream$mode$filename){
        
$ftp_command sprintf('CHMOD %o %s'$mode$filename);
        return 
ftp_site($ftp_stream$ftp_command);
    }

das eigentlich einzig interessante ist: Ich übergebe einen $mode von 0644 und bekomme einen chmod gesetzt der wie folgt aussieht: 1204
Meine einzige Idee ist, dass das etwas mit dem Oktalzahl Umwandlung zutun hatt.

Vielleicht kann mir ja jemand helfen würde mich wirklich fruen.


//€DIT:
Ich habe es selbst lösen können, auch wenn es auf de.php.net in den Manuals zu ftp_chmod so steht wie ich es oben angegeben habe, ist dies nicht ganz richtig wenn man allerdings das %o durch ein %u ersetzt geht alles:
PHP-Code:
if (!function_exists('ftp_chmod')) {
    function 
ftp_chmod($ftp_stream$mode$filename){
        
$ftp_command sprintf('CHMOD %u %s'$mode$filename);
        return 
ftp_site($ftp_stream$ftp_command);
    }

__________________
MFG / Best Regards cspiegl
  • MacBook - 2,16Ghz - 4GB Ram - 320GB HDD + 200GB 2.5" External HDD - +23" Windscreen - Mac OS X Leopard
  • Canon EOS 30D + Jenis Pro Grip + External Wireless Release - 2+4GB Compact Flash - cheap Tripod *tobe replaced!*
  • Canon 18-55mm (Kit) + Sigma DC 55-200mm + Canon EF 50mm 1:1.8 II - SpeedLite 430 EX II
  • iPod nano - 4GB | Maybe soon tobe a iPod touch or an iPhone

Geändert von cspiegl (02.09.2007 um 12:10 Uhr)
cspiegl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit dem PEAR Paket HTML_Template_PHPLIB Ben PEAR, PECL und Frameworks 19 12.02.2007 10:51
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
mit PHP ein Bild auslesen Jann Hendrik PHP-Programmierung 8 09.05.2006 09:12
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48
HTML / PHP - Datei auslesen ghost Allgemeine Java-Programmierung 9 30.09.2005 07:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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