Napraw błąd uprawnień dostępu do folderu

Jeśli korzystasz z podsystemu Linux w systemie Windows, Cygwin lub w dowolnej innej metodzie łączenia systemów Unix i Windows, możesz napotkać błąd „Aktualnie nie masz uprawnień dostępu do tego folderu”. W czystym środowisku Linux lub Unix może pojawić się błąd o treści „Błąd otwierania katalogu: Brak uprawnień”. To samo może się zdarzyć na dyskach sieciowych z systemem plików zgodnym ze standardem POSIX, niezależnie od systemu operacyjnego, z którego uzyskiwany jest dostęp do danych.

Obecnie nie masz uprawnień dostępu do tego folderu.

Przyczyna tego problemu jest we wszystkich przypadkach taka sama. Masz skonfigurowany katalog z ograniczonym dostępem, a następnie próbujesz uzyskać do niego dostęp z konta, które nie ma odpowiednich uprawnień. Aby to naprawić, wystarczy zalogować się na inne konto lub zmienić uprawnienia folderu.

Metoda 1: Zmień konta, aby uzyskać dostęp do katalogów

Spróbuj uzyskać dostęp do folderu, do którego próbowałeś wejść. Jeśli spróbujesz przejść do niego za pomocą polecenia `cd` w wierszu poleceń, pojawi się polecenie o treści: `bash: cd :Permission denied`.

Błąd uprawnień wiersza poleceńPodobny błąd pojawi się, jeśli spróbujesz uzyskać dostęp do katalogu z poziomu środowiska graficznego.

Błąd uprawnień przewodnika graficznego

W tym przypadku próbowaliśmy uzyskać dostęp do katalogu /lost+found, który w większości instalacji Linuksa jest zarezerwowany dla użytkownika root. Wracając do terminala, wpisz `sudo -i` i naciśnij Enter. Zostaniesz poproszony o podanie hasła, ale pojawi się również powłoka logowania root. Możesz przejść do katalogu za pomocą `cd` i go przejrzeć, ale pamiętaj, że działasz z poziomu powłoki root, co może być bardzo destrukcyjne.

Jeśli wolisz pozostać na swoim zwykłym koncie, spróbuj użyć komendy `sudo ls /lost+found`, aby wyświetlić zawartość tego katalogu bez konieczności uruchamiania `sudo -i`. Możesz zastąpić `/lost+found` nazwą dowolnego katalogu, w tym `/root`. Pamiętaj, że użycie `sudo` przed poleceniami nadal pozwala na zniszczenie niemal wszystkiego.

Metoda 2: Zmień domyślne uprawnienia do folderu

Pierwsza metoda jest bardzo prosta i działa z każdym folderem, który chcesz przeglądać w celach konserwacyjnych lub podobnych. Możesz jednak rozważyć inne opcje, jeśli chcesz zezwolić zwykłym użytkownikom na dostęp do folderu, nawet jeśli znajdują się na serwerze lub w sieci.

Uruchom `sudo chmod -R 755 /path/to/folder`, zastępując `path` rzeczywistą ścieżką do katalogu, który chcesz udostępnić. Po zakończeniu spróbuj uzyskać do niego dostęp ze zwykłego konta użytkownika. Ta metoda jest nieco bardziej złożona niż opisana powyżej, ale jest bezpieczniejsza i trwalsza, ponieważ nie wymaga konta root po pierwszej próbie.

W większości przypadków można tworzyć katalogi od podstaw z tymi uprawnieniami. Spróbuj użyć `mkdir -m 755`, aby ustawić uprawnienia do odczytu, zapisu i wykonywania dla jednego użytkownika, a do odczytu i wykonywania dla innych. W obu przypadkach możesz użyć `777`, które daje każdemu logującemu się do struktury plików uprawnienia do wykonywania dowolnych operacji na tym katalogu. Chociaż istnieją sytuacje, w których warto to zrobić, na przykład używając nośników wymiennych do ręcznego przesyłania plików między dwoma komputerami, zastanów się, czy jest to rozsądne, jeśli robisz to w lokalnym systemie plików. Użycie flagi `-p` zamiast tego nadaje nowemu katalogowi wszystkie uprawnienia uznawane za domyślne, co zazwyczaj ma miejsce, gdy jest on uruchamiany bez żadnych dodatkowych flag.

Możesz również upewnić się, że pliki mają odpowiednie uprawnienia podczas kopiowania. Spróbuj użyć `rsync --perms --chmod Fu+w`, jeśli chcesz przyznać właścicielowi pliku uprawnienia do zapisu. Możesz również określić inne grupy. Możesz użyć `--chown=` z `rsync`, po którym należy podać nazwę użytkownika, dwukropek i grupę, aby skopiowane pliki również otrzymały prawidłowe mapowania.

Ponieważ `rsync` jest bardzo przydatny do kopiowania struktur plików zgodnych ze standardem POSIX między systemami Windows i Linux, warto poeksperymentować z różnymi ustawieniami `chmod` podczas jego używania. Inną opcją, którą warto wypróbować, jest `install`. Uruchom `install -m 777`, a następnie wpisz źródło i miejsce docelowe pliku, aby natychmiast przyznać mu dostęp do odczytu i zapisu dla wszystkich użytkowników. Możesz użyć `755` lub dowolnej innej kombinacji dla bezpieczeństwa.

Z pewnością nie jest to tak szybkie rozwiązanie jak `rsync`, ale może się sprawdzić w sytuacjach, gdy chcesz precyzyjnie określić uprawnienia, aby naprawić błędy, takie jak „W tej chwili nie masz uprawnień dostępu do tego folderu”.

Możliwość dodawania komentarzy nie jest dostępna.