Odmowa dostępu podczas uruchamiania skryptów .sh


70
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126. Ten problem występuje zawsze, gdy próbuję wykonać kod. Jakie może być rozwiązanie?


1
Permission deniedbłąd występuje tylko wtedy, gdy nie masz wystarczających uprawnień, aby uzyskać dostęp do tego pliku.
— Avinash Raj

Jak mogę zmienić uprawnienia
— wkhwilo

Gdzie mam to zrobić, proszę dać mi przykład
— wkhwilo

Kiedy to robię, mówi mi to: chmod: nie może uzyskać dostępu do `geany_run_script.sh ': nie ma takiego pliku ani katalogu. Czy powinienem uruchomić go z terminala czy co?
— wkhwilo

Odpowiedzi:


117

Oto link, który wyjaśnia zmianę uprawnień do plików (i własności)

Jeśli chcesz je pominąć (oczywiście na razie), możesz utworzyć katalog / folder w katalogu osobistym użytkownika i tam pracować nad Cprogramami (lub innymi).


Możesz otworzyć terminal (naciśnij Ctrl+ Alt+ T) i cddo katalogu docelowego:

cd /path/to/target

Aby nadać plikowi „nazwa_pliku”, wykonaj uprawnienie (jeśli system plików pozwala na to z uprawnieniami RW):

chmod +x the_file_name

Jak mogę zmienić uprawnienia dowolne przykłady
— wkhwilo

Problem, jak to zrobić? Jestem nowym użytkownikiem Ubuntu, który niedawno przełączyłem z systemu Windows.
— wkhwilo

.. jaki jest twój katalog roboczy tj. jaka jest lokalizacja pliku kodu źródłowego? .. czy masz jakieś doświadczenie z Windows CLI?
— dokładnie

@ wkhwilo-012, sprawdź, czy to pomoże i nie wahaj się prosić o więcej ...
— dokładnie

@ wkhwilo-012, skopiuj plik wykonywalny Area_circumferencei wklej go (ścieżka pliku zostanie wklejona), aby zaktualizować treść pytania ...
— dokładnie

20

Musisz tylko zezwolić na wykonanie. Obserwuj to:

    chmod +x filename.sh
    ./filename.sh

Kiedy tworzymy nowy plik skryptu, domyślnie ma on uprawnienia do odczytu i zapisu. Ale jeśli chcemy je wykonać, powinniśmy wyrazić zgodę na wykonanie, jak pokazano powyżej.


2

Otwórz aplikację terminalową, naciskając CTRL+ ALT+ Tlub za pomocą odpowiedniego skrótu w środowisku graficznym (jak Terminallub xTerm).
W jednolitym oknie, które pojawia się na ekranie, zobaczysz migający znak, to terminal cursor: po prostu kliknij okno i napisz, aby wprowadzić tekst (zwykle polecenia) i naciśnij, ENTERaby potwierdzić wprowadzanie.
Przed kursorem zawsze wyświetlana jest twoja aktualna pozycja w systemie plików z root directory(„/”), a Twój dom (gdzie znajdują się twoje pliki osobiste) nazywa się „~”.
Aby zmienić katalog / folder użyj cd EXISTENTFOLDER(zamień EXISTENTFOLDER na nazwę folderu); jeśli czujesz się zagubiony, po prostu napisz, cdaby w mgnieniu oka wrócić do katalogu domowego!
Terazrozwiążmy twój problem :

  1. Użyj cdpolecenia, aby znaleźć katalog z kodem źródłowym. Użyj, TABaby ci pomóc. Jeśli wykonasz ls -lh, zobaczysz listę możliwych ścieżek do przejścia i plików do wykonania.

  2. Po znalezieniu zablokowanego pliku uruchom chmod +x FILENAME(zastąp FILENAME nazwą pliku kodu źródłowego).

  3. Jeśli masz wiele zablokowanych plików, uruchom je, chmod +x *aby odblokować wszystkie pliki w bieżącym katalogu. Nigdy nie chmod + x niebezpiecznych lub niepewnych plików .

  4. Wykonaj, ./FILENAME YOUREVENTUALARGUMENTSaby wykonać plik wykonywalny.

  5. Pamiętaj, że jeśli skompilowany program próbuje odczytywać / zapisywać poza katalogiem domowym, musisz go wykonać tak, jak rootprzy użyciu sudo ./FILENAME YOUREVENTUALARGUMENTS.

Jeśli chcesz mieć instrukcję do wykonania polecenia man COMMAND(zamień COMMAND na dokładną nazwę polecenia, Linux rozróżnia małe i duże litery).

Niektóre muszle mają Open terminal herepolecenie upraszczające życie, szukaj ich w przyszłości i pamiętaj, że powłoka poleceń może być twoim najlepszym przyjacielem, jeśli dobrze ją wykorzystasz. :-RE

To wszystko. Jeśli potrzebujesz dodatkowej pomocy, skomentuj tutaj.
Jeśli pomagam, naciśnij strzałkę W GÓRĘ po lewej; jeśli rozwiążesz, zaznacz tę odpowiedź jako najlepszą odpowiedź.

Życzymy przyjemnych wrażeń w systemach Linux i Ubuntu.


Wielkie dzięki. Teraz mogę pracować w katalogu domowym. Operacja, o którą prosiłeś wcześniej, nie może być dozwolona. Mówi, że nie mam pozwolenia, ale i tak dziękuję za sugestię.
— wkhwilo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.