Hallo,
ich teste gerade die Version 1.0.16 auf einem CentOS Server und mir wird im Backend angezeigt, dass die Schreibberechtigungen der nonWriteableDirs nicht passwn würden.
Auf der Kommandozeile wird mir aber 755 für die Verzeichnisse angezeigt.
Könnte es sein, dass die Meldung im Pfad /lang/german/admin in der Datei start.php falsch hinterlegt ist und die Berechtigung 555 anstatt 755 sein sollte.
Original:
define('TEXT_FOLDER_WARNING_IS_WRITEABLE','<b>WARNUNG:</b><br />Folgende Verzeichnisse sind vom Server beschreibbar. Bitte ändern Sie die Zugriffsrechte (Permissions) dieser Verzeichnisse aus Sicherheitsgründen. <b>(755)</b> bei Unix, <b>(read-only)</b> bei Windows.');
Neu:
define('TEXT_FOLDER_WARNING_IS_WRITEABLE','<b>WARNUNG:</b><br />Folgende Verzeichnisse sind vom Server beschreibbar. Bitte ändern Sie die Zugriffsrechte (Permissions) dieser Verzeichnisse aus Sicherheitsgründen. <b>(555)</b> bei Unix, <b>(read-only)</b> bei Windows.');
Danke
Jan
Prüfung der Verzeichnisberechtigungen
Re: Prüfung der Verzeichnisberechtigungen
Bei einigen System ist auch 750 in Ordnung hast Du das mal probiert?
Mein Shop: http://www.basteln-selbermachen.de
Re: Prüfung der Verzeichnisberechtigungen
Wenn ich 750 auf das Admin Verzeichnis setze geht gar nichts mehr im Backend.Xantiva hat geschrieben:Bei einigen System ist auch 750 in Ordnung hast Du das mal probiert?
Ich habe mal ein wenig getest und bin auf folgende Lösung gekommen.
Erweiterung der Datei security_check.php im Verzeichnis /admin/includes/modules
um eine zusätzliche Funktion (Variante von checkWriteable) , die Berechtigungsflags des Owners bleiben ungetastet.
function checkWriteableOnlyOwner($file) {
static $uid=NULL, $groups=NULL;
$result = false;
$fperm = fileperms($file);
if (function_exists('posix_getuid')) {
if ($uid === NULL) {
$uid = posix_getuid();
$groups = posix_getgroups();
}
if (($fperm & 0002) or
($fperm & 0020 and in_array(filegroup($file), $groups)) or
(fileowner($file) == $uid)) {
$result = true;
}
} else {
$result = (($fperm & 0022) !=0);
}
return $result;
}
------------
Zusätzlich habe ich in der Datei die Zeile 108 auf die neue Funktion angepaßt:
108 Original: if (checkWriteable($dir)) {
108 Neu: if (checkWriteableOnlyOwner($dir)) {
Grüsse
Jan