Kilka dni temu zdarzyło mi się ustawić uprawnienia nieprawidłowo podczas korzystania z php funkcję mkdir
tak:Błędne uprawnienia ustawia lepki bit
mkdir("foldername", 777, true);
Prawidłowy sposób jest asuming chcesz te rodzaje uprawnień:
mkdir("foldername", 0777, true);
wiem, że nie powinno się używać na moich 777 plików lub folderów, ale to jest dla systemu bardzo zamkniętym, więc proszę nie utknąć w tej sprawie. Ponieważ nadchodzi zabawna (dziwna) część, przynajmniej dla mnie. Ponieważ zauważyliśmy, że coś było bardzo dziwne, gdy ten skrypt tworzył foldery. Osadzenia, które się ustawia, jest naprawdę dziwne, szczególnie dla użytkownika, który nie jest mocarnym linuxem, jak ja. Bo to, co widzimy, jest to, że uprawnienia utworzonych folderów zostanie ustawiony w ten sposób:
dr - - - - x - - t
Która jest dla mnie dziwne, ja nie słyszałem o lepki bit przed (the t
), ale najwyraźniej jest ustawiony, gdy chcesz, aby ten plik był usuwany tylko przez root. Czy ktokolwiek wie, dlaczego PHP zachowuje się w ten sposób, czy nawet jest to problem PHP (naprawdę nie jest to problem, ponieważ wtedy jestem niewłaściwie używający tej funkcji), czy jest to coś, co nasz system * nix robi domyślnie w razie wątpliwości lub coś?
Zazwyczaj 'mkdir ("foldername", 01777, true); 'ustawia lepki bit. Nie wiem, dlaczego właśnie 777 to ustawi. –
Uprawnienia do plików zapisywane są w notacji ósemkowej (podstawa 8). 777 jest tam dziesiętnie i oznacza 01411 ósemkowy, który ustawia również lepki ... – Ihsan