Odmowa uprawnień w Terminalu Mac? Spróbuj to rozwiązanie

Jeśli znasz polecenia Unix, to Terminal jest świetnym sposobem uruchamiać procesy i wykonywać zadania. Najczęściej on po prostu pracuje, jeśli wykorzystujesz poprawne polecenia. Jednak niekiedy możesz zobaczyć komunikaty o błędach, na przykład o tym, że „'permission denied”. Taki komunikat może zostać wyświetlony z wielu przyczyn, na przykład przez problem uprawnień albo przez blokowanie pliku, z którym pracujesz. W tym artykule pokażemy jak opanować błąd „'permission denied” w Terminalu.

Czym jest Terminal?

Terminal jest aplikacją, umieszczoną w folderze Narzędzia w Aplikacjach. Pozwala zarządzać Makiem, wykonywać procesy i zadania w interfejsie wiersza poleceń. Dzięki jądrowi Unix w macOS system może interpretować i wykonywać zwykłe polecenia Unix. Przed wersją macOS Catalina, domyślną powłoką Terminalu był bash. Powłoka jest warstwą, w której podajesz polecenia. Jednak Terminal mógł uruchamiać inne powłoki na bazie bash. Jedna z nich nazywa się zsh. Zsh ma pewne przewagi nad bash – jest łatwiejszy w wykorzystaniu do pewnych zadań i nie wymaga ścisłych uprawnień użytkownika, jakich wymaga bash. A teraz zsh jest domyślną powłoką dla macOS. By sprawdzić, jaka powłoka Terminalu jest uruchomiona, spójrz w górną część dowolnego okna Terminalu. Zobaczysz imię użytkownika, nazwę powłoki i rozmiary okna.

Dlaczego ludzie korzystają z Terminalu?

Użytkownicy Maców lubią Terminal z wielu powodów. Jeśli znasz polecenia Unix, Terminal pozwoli Ci na szybkie uruchomienie procesów i zadań. Innym głównym powodem do korzystania z Terminalu jest możliwość prazy z ukrytymi częściami macOS, których nie znajdziesz w Preferencjach Systemowych. W ten sposób możesz zmieniać ustawienia, do których inaczej byłyby potrzebne specjalne aplikacje. Na przykład, do zmiany domyślnego formatu zrzutów ekranu z png na jpg, potrzebujesz Terminalu.

Co znaczy „permission denied”?

Jeśli widzisz ten komunikat, to oznacza, że Terminal nie może wykonać polecenia, ponieważ nie może otrzymać dostęp do potrzebnego plika. Jak sugeruje nazwa błędu, nie może odczytać plik, ponieważ brakuje uprawnień. Może to być spowodowane przez wiele rzeczy, ale typowymi przyczynami są:

  • Nie masz uprawnień zapisywać plik;
  • Plik jest zablokowany;
  • Polecenie, którego próbujesz wykorzystać, jest utworzone niepoprawnie.

Jak naprawić błąd „permission denied” w Terminalu

Sprawdź uprawnienia plika

Istnieje kilka sposobów sprawdzić uprawnienia plików. Możesz zrobić to w Finderze albo w Terminalu. Poniżej pokażemy oba sposoby.

Terminal

  1. Uruchom Terminal i wpisz następujące polecenie, po którym umieść spację: ls -l
  2. Znajdź plik albo folder, dla którego wystąpił błąd i przeciągnij go do okna Terminala.
  3. Naciśnij Return.
  4. Jeśli widzisz litery „rwxr” w linii znaków przed imieniem użytkownika, to znaczy, że możesz odczytywać, zapisywać i uruchamiać plik. Natomiast, jeśli widzisz tylko „r”, to znaczy, że masz dostęp tylko do odczytu.

Finder

  1. Znajdź plik albo folder w Finderze.
  2. Naciśnij Command-I, by otworzyć okno Informacji.
  3. Sprawdź sekcję Udostępnianie i uprawnienia na dole okna. Jeśli pod napisem niczego nie ma, kliknij strzałkę obok.
  4. Sprawdź uprawnienia obok imienia Twojego użytkownika. Powinno tam być „odczyt i zapis”

Zmień uprawnienia plika

Jeśli uprawnienia nie pozwalają na zapis pliku, to pewnie, jest przyczyną błędu „permission denied”. Aby to naprawić w Finderze, kliknij kolumnę Prywilej obok imienia użytkownika w Informacjach i wybierz „odczyt i zapis”.

Aby zmienić uprawnienia w Terminalu, wykonaj te kroki:

  1. Wpisz to polecenie po którym umieść spację: chmod 755
  2. Przeciągnij plik albo folder do okna Terminalu.
  3. Naciśnij Return.
  4. Uprawnienia dla pliku albo folderu zostaną zmienione na odczyt, zapis i uruchomienie.

Zmień właściciela folderu

Jeśli zmiana uprawnień nie rozwiązała problemu, spróbuj zmienić właściciela folderu na Twoje imię użytkownika. W podanych poniżej krokach zmień [username] na własne imię użytkownika, a [directorypath] na ścieżkę do folderu, którego właściciel ma zostać zmieniony – jak to robiliśmy wcześniej, możesz po prostu przeciągnąć folder do okna Terminalu.

  1. Wpisz: chown -R $[username]:[username] [directorypath]
  2. Naciśnij Return.

Łatwiejszy sposób naprawić problemy z Terminalem

Tak może się zdarzyć, że błąd „permission denied” występuje przez problem z samym Terminalem. Jednym sposobem na to jest zresetowanie apki. Najprostszym sposobem na to jest bardzo użyteczne narzędzie CleanMyMac X. CleanMyMac X zawiera kilka modułów, które potrafią oczyścić miejsce, zoptymalizować Maca, chronić przez szkodliwymi programami i, jak w tym przypadku, naprawiać problemy. Apka jest poświadczona przez Apple – możesz pobrać ją za darmo stąd.

  1. Uruchom CleanMyMac X i w pasku bocznym wybierz Dezinstalator.
  2. Wpisz Terminal w pasku wyszukiwania.
  3. Kliknij strzałkę obok wielkości pliku.
  4. Zaznacz Preferencje, Pliki pomocnicze i Dzienniki.
  5. Kliknij strałki obok Terminalu i wybierz Resetuj.
  6. Naciśnij przycisk „Resetuj”.


Porada:

By pozwolić CleanMyMac X na resetowanie domyślnych aplikacji, przejdź do Preferencji CleanMyMac X. Tutaj, naciśnij Lista Ignorowania > Dezinstalator. Odznacz opcję „Ignoruj programy systemowe”.



Błąd „Permission denied” w Terminalu zazwyczaj jest powiązany z problemami uprawnień dla pliku albo folderu, nad którym chcesz pracować. Można to naprawić przez zmianę uprawnień albo właściciela. Ale jeśli to nie pomaga, skorzystaj z CleanMyMac X, by zresetować Terminal i upewnij się, że podajesz poprawnie sformatowane polecenia.

CleanMyMac X

Twój Mac. Jak nowy.