Codeschnipsel - AutoFolderCHMODER
Mit diesem Tool hat man die Möglichkeit, automatisch Ordner die nicht die CHMOD-Rechte 777 oder 755 haben, auf 755 zu setzen.
Das Script ist für die Verzeichnisstruktur von Confixx gemacht.
Code:#!/usr/bin/perl ########################################################################################################################### # AUTOFOLDERCHMODER by PA-S.de # BASED on Dateichmoder by Inspire-World.de ########################################################################################################################### for(my $i = 1; $i <= 123; $i++) { $dir = "/home/www/web$i/html/"; @dateien = (); listFiles ($dir); foreach $dir (@dateien) { ($rechte, $groesse) = (stat($dir))[2,7]; $orgrechte = sprintf "%lo", ($rechte & 07777); $kurzdir = substr($dir, $laenge_sp); $dirs = "$orgrechte $kurzdir\n"; if($orgrechte ne "777" && $orgrechte ne "755"){ # wenn Ordner-Rechte 750 print $dirs; chmod(0755, $kurzdir); } } sub listFiles { local *DH; my ($item, $pfad); my $dir = shift; opendir (DH, $dir) or return; while ($item = readdir (DH)) { next if ( $item =~ /^\./ ); $pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) ); push (@dateien, $pfad) if(-d $pfad); listFiles ($pfad) if (-d $pfad); } closedir (DH); } }
Dieses Tool setzt alle Ordner mit den Rechten 750 automatisch auf 755.
Dies ist meist der Fall, wenn der Apache-Fehler "pcfg_openfile: unable to check htaccess file, ensure it is readable" kommt.
Das Script ist für die Verzeichnisstruktur von Confixx gemacht.
Code:#!/usr/bin/perl ########################################################################################################################### # AUTOFOLDERCHMODER by PA-S.de # BASED on Dateichmoder by Inspire-World.de ########################################################################################################################### for(my $i = 1; $i <= 123; $i++) { $dir = "/home/www/web$i/html/"; @dateien = (); listFiles ($dir); foreach $dir (@dateien) { ($rechte, $groesse) = (stat($dir))[2,7]; $orgrechte = sprintf "%lo", ($rechte & 07777); $kurzdir = substr($dir, $laenge_sp); $dirs = "$orgrechte $kurzdir\n"; if($orgrechte eq "750"){ # wenn Ordner-Rechte 750 print $dirs; chmod(0755, $kurzdir); } } sub listFiles { local *DH; my ($item, $pfad); my $dir = shift; opendir (DH, $dir) or return; while ($item = readdir (DH)) { next if ( $item =~ /^\./ ); $pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) ); push (@dateien, $pfad) if(-d $pfad); listFiles ($pfad) if (-d $pfad); } closedir (DH); } }