Istnieje kilka potencjalnych przyczyn problemów z uprawnieniami do plików i folderów na hoście Linux.
1. Uprawnienia do plików i folderów
Sprawdź, czy uprawnienia do folderów są ustawione na 0755, a uprawnienia do plików na 0644. Pamiętaj, że uprawnienia do plików i folderów można zresetować do tych standardowych bezpiecznych ustawień w całej witrynie za pomocą bezpłatnej lub płatnej wersji Narzędzi administracyjnych Akeeba.
2. Parametry PHP
Sprawdź parametr upload_max_filesize w zakładce Informacje PHP w Informacje o systemie jest wystarczający. Często możesz zastąpić ustawienie domyślne we współdzielonym środowisku hostingowym za pomocą ustawień PHP w cPanel lub php.ini
pliku niestandardowym .
3. Niepoprawne ścieżki w pliku configuration.php
Możliwe, że określono niepoprawne ścieżki do folderów tmp i logów. Są one określone w konfiguracji systemu lub mogą być aktualizowane bezpośrednio w pliku configuration.php, jeśli wygodnie edytujesz pliki systemowe bezpośrednio. Jeśli nie masz pewności, jaka powinna być ścieżka, utwórz i prześlij plik whereami.php
(lub podobny) do folderu głównego swojej witryny o następującej treści:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Przeglądaj, aby [mywebsite].com/whereami.php
zobaczyć ścieżkę do folderu głównego.
Gdy znajdziesz prawidłową ścieżkę, pamiętaj o usunięciu whereami.php
pliku.
4. Nieodpowiednia obsługa plików PHP
Twój hosting może być skonfigurowany z domyślną obsługą plików PHP, ale najlepiej używać suPHP lub FastCGI lub podobnego, aby Joomla mogła przesyłać i uruchamiać pliki przy użyciu bezpiecznych uprawnień do plików.
Możesz zobaczyć, w którym programie obsługi PHP jest używany System -> System Information -> WebServer to PHP Interface
.
Dobry artykuł na temat względnych zalet programów obsługi plików PHP znajduje się na stronie : http://boomshadow.net/tech/php-handlers
We współdzielonym środowisku hostingowym zazwyczaj nie masz dostępu do zmiany, która obsługa plików PHP jest włączona, ale Twoja firma hostingowa może to dla Ciebie zmienić.
Czasami w celu obejścia tego problemu uprawnienia do plików i folderów są zmieniane na 0777, ale powoduje to, że witryna jest w trudnej sytuacji i ogólnie należy unikać uprawnień do plików 0777.
Jeśli Twoja firma hostingowa nie może włączyć SuPHP lub FastCGI, jedyną inną opcją może być znalezienie nowej firmy hostingowej.
5. Miejsce na dysku
Sprawdź, czy nie przekroczyłeś limitu miejsca na dysku.
ROZWIĄZYWANIE PROBLEMÓW
Jakie są zalecane najlepsze praktyki dotyczące ustawiania uprawnień i własności w Joomla na systemach Linux?
Zobacz 1 i 4.
Brak możliwości przesyłania plików na serwer za pomocą programów takich jak WinSCP.
Zobacz 1, 2, ewentualnie 4 i 5.
Brak możliwości instalacji rozszerzeń Joomla, wtyczek itp.
Zobacz 1, 2, 3, 4 i 5.
Niebezpieczne pliki i foldery z powodu niebezpiecznych uprawnień i ustawień własności.
Zobacz 1 i 4.
Sprawdź poziomy uprawnień, powinno to być odpowiednio 644 i 755 dla plików i folderów.
Wiele razy poziomy uprawnień są w porządku, nawet jeśli napotyka się pewne problemy. Oznacza to, że będziesz musiał sprawdzić własność i grupę określonych plików i folderów . Zwykle grupę i własność można zmienić na dane www dla apache (używane w serwerach WWW opartych na Ubuntu).
Zachęcamy do zapoznania się z tym interesującym dokumentem Joomla opartym na weryfikacji uprawnień do plików.
źródło
Łatwym rozwiązaniem jest dla mnie często pozwalanie PHP na uruchamianie w trybie (szybkim) CGI i ustawianie własności katalogu Joomla dla użytkownika FTP. Będziesz mógł wgrywać i nadpisywać pliki przez FTP, a Joomla będzie mogła również zapisywać pliki.
Sposobem na to we współdzielonym środowisku hostingowym (jeśli jest to dozwolone) jest dodanie czegoś takiego do pliku .htaccess:
Zobacz także przegląd różnych trybów .
źródło
Uprawnienia powinny wynosić 644 i 755, jak wyjaśnia Shyam.
W Joomla możesz uniknąć wszystkich wspomnianych problemów, stosując następujące metody.
Brak możliwości przesyłania plików na serwer za pomocą programów takich jak WinSCP.
configuration.php
które ma to zezwolenie, którego domyślnie nie zezwala (dla bezpieczeństwa).Brak możliwości instalacji rozszerzeń Joomla, wtyczek itp.
Stanie się tak z powodu
temp/log
złych uprawnień do folderu. (Wymagane 755)Lub innym powodem
temp/log
jest niewłaściwa ścieżkaconfiguration.php
Niebezpieczne pliki i foldery z powodu niebezpiecznych uprawnień i ustawień własności.
Mam nadzieję, że to pomaga ..
źródło
Uprawnienia powinny wynosić 644 i 755, jak wyjaśnia Shyam.
Problemy, które napotykasz, najprawdopodobniej są związane ze sposobem konfiguracji serwera. Najczęściej dzieje się tak na współdzielonych hostach, na których Apache działa pod innym użytkownikiem niż twoje konto FTP. Ponieważ zwykle przesyłasz Joomla za pomocą FTP, Apache nie jest właścicielem pliku, a zatem nie ma wymaganych uprawnień, aby go zmienić.
W Joomla jest tryb FTP, który pozwala ominąć ten problem. Możesz włączyć to w globalnej konfiguracji Joomla. Następnie wykona dostęp do wszystkich plików przy użyciu użytkownika FTP zamiast zwykłego użytkownika Apache.
Lepszym sposobem jest jednak poproszenie hosta o naprawienie problemu. Mogą skonfigurować PHP (Apache) do działania pod specjalnym użytkownikiem, którym w takim przypadku powinien być użytkownik FTP. Wtedy wszystko będzie działało dobrze.
źródło
Tak, uprawnienia powinny wynosić 644 i 755, jak wyjaśnił Shyam , ale inni plakaty zapominają wspomnieć, że dzieje się tak, jeśli plik jest własnością twojego serwera, a grupa jest grupą, do której należysz.
Na przykład w FileZilla zobaczysz uprawnienia takie jak to:
Uprawnienia drwxr-xr-x wynoszą 755 (po prostu zignoruj wiodącego dr, więc jest to wxr-xr-x). Uprawnienia do odczytu są warte 4, uprawnienia do zapisu są warte 2, a uprawnienia do wykonywania są warte 1 .. więc ich suma wynosi 7, i to właśnie ma właściciel tego pliku. Grupa ma uprawnienia do odczytu i wykonywania, ale nie może pisać, więc mają 5, a każdy ma również 5 .. co daje uprawnienia 755.
754 byliby właścicielami, którzy czytają, piszą, wykonują. Grupuj po przeczytaniu i wykonaniu, a każdy ma tylko uprawnienia do odczytu.
W powyższym przykładzie widać, że właścicielem pliku jest www-data (która jest domyślną grupą serwerów WWW dla wielu serwerów Apache), a grupa to grupa myGroup, czyli grupa (administratorzy), do której należę.
Pierwsza liczba to uprawnienia właścicieli, druga to uprawnienia grup, a trzecia to uprawnienia wszystkich. Oczywiście musisz uważać, aby dać serwerowi sieciowemu potrzebne uprawnienia ... i upewnić się, że pliki, które muszą zostać zablokowane, nie mogą zostać zapisane ani wykonane przez nikogo (trzeci numer). Poniżej znajduje się znaczenie liczb:
Zakładając, że serwer jest właścicielem plików, Twój administrator jest w grupie i oczywiście każdy jest trzecim numerem.
644: Pliki z uprawnieniami ustawionymi na 644 są odczytywane przez wszystkich i zapisywane tylko przez właściciela pliku / folderu.
755: Pliki z uprawnieniami ustawionymi na 755 są dostępne do odczytu i wykonywania dla wszystkich, ale tylko do zapisu przez właściciela pliku / folderu.
777: Pliki z uprawnieniami ustawionymi na 777 są dostępne do odczytu, zapisu i wykonywania przez wszystkich. Nie używaj tego zestawu uprawnień ze względów bezpieczeństwa na swoim serwerze internetowym, chyba że jest to absolutnie konieczne i tylko tymczasowo. To katastrofa, która czeka, szczególnie jeśli katalog ma te uprawnienia. Oznacza to, że każdy może przesyłać pliki i je wykonywać.
Oto polecenia Linuksa, aby skonfigurować Joomla! zalecane uprawnienia z wiersza poleceń. Zalecane uprawnienia do plików Joomla
UWAGA - wiele osób pokaże te polecenia bez ścieżki, ale ZAWSZE wolę korzystać z pełnej ścieżki, ponieważ jeśli zapomnisz zmienić katalogi na root Joomla! katalog instalacyjny i uruchom je bez ścieżki, właśnie zmieniłeś uprawnienia do każdego pliku i katalogu w tym górnym katalogu i stworzyłeś ogromny bałagan.
Po uruchomieniu tych poleceń będziesz musiał naprawić uprawnienia do wszystkich katalogów, które potrzebują więcej uprawnień ... na przykład ... użytkowników przesyłających obrazy itp.
JEŚLI WYKORZYSTASZ TYLKO JOOMLA! interfejs, a nie masz dostępu administratora ani FTP do serwera, a następnie WYKORZYSTAJ WŁASNOŚĆ i PRAWA POWYŻEJ.
ZATRZYMAJ SIĘ TUTAJ, JEŚLI JESTEŚ URZĄDZENIEM. Poniższe informacje są przeznaczone tylko dla osób, które naprawdę rozumieją uprawnienia i własność.
Uważam jednak, że posiadanie i uprawnienia w ten sposób są bardzo nieprzydatne, ponieważ lubię korzystać z FileZilla i wiersza poleceń sesji terminalu przez większość czasu i przesyłam wiele plików ręcznie. Ale nie mogę nadpisać żadnych plików, ponieważ nie jestem ich właścicielem i nie mam uprawnień do pisania. Mógłbym zalogować FileZilla na koncie serwera WWW, ALE ... Chcę, aby FileZilla zalogował się na moim koncie, więc mogę przeglądać również inne katalogi, nie tylko pliki, do których serwer WWW ma dostęp ... SO ... Zmieniam własność i uprawnienia na to:
Staję się właścicielem i umieszczam serwer internetowy w grupie ... i zmieniam uprawnienia dla katalogów na 775, a dla plików na 664. Ułatwia mi życie ... ale nie polecam tego dla każdy.
Jeśli zrobisz to po swojemu, będą to następujące polecenia:
źródło
Inne odpowiedzi stanowią dobre wyjaśnienie tego, co należy zrobić, chcę tylko dodać skrypt, aby naprawić uprawnienia, jeśli już przesłałeś komponent i nie możesz uzyskać dostępu do plików za pomocą ftp.
W takim przypadku załadowałbym ten plik jak
fix.php
na serwer FTP i otworzyłem go w przeglądarce:http://example.com/fix.php
Ten skrypt ustawia wszystkie uprawnienia do pliku na 666, a wszystkie katalogi na 777. Zapis na świecie nie jest najlepszym zestawem uprawnień dla współdzielonego hosta, ale będziesz mógł uzyskać dostęp do swoich plików ponownie, a następnie możesz ustawić prawidłowe wartości za pomocą FTP.
źródło
Późno na imprezę. Przyszedłem tutaj, szukając, jak również innych miejsc, ostatecznego przewodnika na temat tego, jakie foldery muszą być dostępne do zapisu dla Joomla.
Przepraszam, że jestem zwiastunem złych wiadomości.
Porada dotycząca korzystania z uprawnień 755 dla wszystkich katalogów i 644 dla wszystkich folderów jest co najmniej nieodpowiedzialna .
Uczynienie właściciela wszystkich folderów i plików do zapisu jest w porządku, o ile właścicielem nie jest serwer WWW (Apache i in.).
Wiem, że jest to powszechnie zalecana praktyka, ale zapewniam, że nie jest to dobra praktyka. Ostatnim oprogramowaniem, które chcesz umożliwić zapisywanie w folderach, jest sam serwer WWW. Jest to serwer sieciowy wykorzystywany przez hakerów do wykorzystywania tego exploita, który nie został jeszcze załatany (lub nawet znaleziony).
Czy uważasz, że .htaccess uratuje twojego Kevina? Zapomnij, ponieważ pozwoliłeś serwerowi na dostęp do zapisu, nasi drodzy przyjaciele hakerów mogą tworzyć własne pliki .htaccess, dające im dowolne uprawnienia! jak Oh nie wiem Umm sprawia, że pliki .jpg mogą być wykonywane przez serwer. I myślałeś, że ochrona przed egzekucją .php pokryje twoje A.
Ale upewnij się, że faktycznie mają go tylko foldery wymagające dostępu do zapisu. 755 i 644 dla następujących folderów.
I pamiętaj, aby WYŁĄCZYĆ pliki .htaccess z AllowOveride none dla wszystkich zapisywalnych folderów (takich jak te powyżej)
Dla tych z was na wspólnym hostingu powodzenia, ponieważ jest to element konfiguracji, którego nie można kontrolować.
Nie sądzę, że utworzenie pliku .htaccess tylko do odczytu pomoże. Jeśli nasi hakerzy mogą utworzyć nowy folder (mogą), mogą utworzyć własny .htaccess.
Dla tych z was, którzy prowadzą hosting dzielony dla wszystkiego, co święte, proszę uzyskać wskazówkę dotyczącą bezpieczeństwa.
Jeśli nie rozumiesz bezpieczeństwa, wyjdź z firmy hostingowej, którą utrudniasz nam.
Teraz wracam do wyszukiwania ostatecznego przewodnika po folderach wymagających dostępu do zapisu ...
źródło