Vor ein paar Tagen, ich zufällig die Berechtigungen zu Unrecht setzen, wenn die PHP-Funktion mkdir
wie folgt aus:Falsche Berechtigungen setzt Sticky-Bit
mkdir("foldername", 777, true);
Der richtige Weg ist, asuming Sie diese Art von Berechtigungen wollen:
mkdir("foldername", 0777, true);
ich weiß, dass ich nicht 777 auf meinen Dateien oder Ordner verwenden sollte, aber dies für ein sehr geschlossenes System ist, so auf, dass nicht bekommen, stecken bitte. Denn hier kommt zumindest der komische (komische) Teil für mich. Weil wir festgestellt haben, dass etwas sehr merkwürdig war, als dieses Skript Ordner erstellte. Die Persmissions, die gesetzt werden, sind wirklich seltsam, besonders für einen Nicht-Power-User von Linux wie mich. Denn das, was wir sehen, ist, dass die Berechtigungen der erstellten Ordner auf diese gesetzt wird:
dr - - - - x - - t
Was mir fremd ist, hatte ich nicht gehört das Sticky-Bit vorher (das t
) aber das ist anscheinend festgelegt, wenn Sie diese Datei nur durch root entfernbar machen möchten. Wer weiß, warum PHP sich so verhält, oder wenn es sogar ein PHP-Problem ist (nicht wirklich ein Problem, da ich dann eines die Funktion falsch nutze), oder ist das etwas, was unser * nix-System im Zweifelsfall standardmäßig macht oder so?
Normalerweise 'mkdir ("Ordnername", 01777, wahr); 'setzt das Sticky-Bit. Nicht sicher, warum nur 777 es setzen würde. –
Die Dateiberechtigungen sind in Oktalschreibweise (Basis 8). 777 ist dezimal da und es bedeutet 01411 oktal, was auch den klebrigen setzt ... – Ihsan