2017-01-14 6 views
1

Ich kann ein C-Programm, das ich geschrieben habe, nicht ausführen, obwohl ich Lese-, Schreib- und Ausführungsberechtigungen dafür habe.Berechtigung verweigert Fehlermeldung

gibt es die folgende Fehlermeldung:

-bash: ./program_name: Permission denied 

Was ist hier los? Hat jemand eine Ahnung?

UPDATE: Ich habe nicht die Ausführung Erlaubnis für die Binärdatei haben ... Ich habe jetzt die Benutzerrechte für die Binärdatei geändert: Hier ist das Ergebnis des Befehls ls -l programm_name:

[email protected] 1 my_username staff 2284 Jan 14 21:26 program_name 

ich bekomme jetzt die folgende Fehlermeldung beim Versuch, die Datei auszuführen: -

bash:./program_name: cannot execute binary file 
+1

Wähler zu schließen: Ich glaube nicht, das auf Super Benutzer gehört, da diese w/Berechtigungen sein eigenes Programm zu tun hat mit dem Kompilieren. Nicht zum Beispiel, Erlaubnis für eine heruntergeladene Datei. –

Antwort

2

ich würde wetten, dass Sie dies nicht tun, in der Tat, die Erlaubnis für sie auszuführen haben.

Überprüfen Sie die Berechtigungen mit:

ls -l ./program_name

Aktualisieren Sie Ihre Frage mit dem Ausgang, so dass wir/ich kann Ihre Schlussfolgerung überqueren überprüfen.

Update: Die Ausgabe scheint, dass Sie Ausführungsberechtigung für die Quelldatei haben (.c gibt mir diesen Eindruck). Dies wird nicht funktionieren.

Sie müssen C-Programme kompilieren (normalerweise mit gcc unter Linux, xcode auf Mac). Wenn Sie es getan haben und alles erfolgreich ist, erhalten Sie eine neue Datei. Normalerweise ohne eine Erweiterung. Das ist die ausführbare Datei und das benötigt die Berechtigungen.

Also vorausgesetzt, die ausführbare Datei ist program_name ohne .c geben Sie es erneut versuchen.

Ich denke, XCode nutzt GCC zu

+0

Ich habe das Ergebnis des Befehls "ls -l program_name.c" in meinen Beitrag eingefügt ... Soweit ich sehen kann, habe ich alle Rechte – Tommy

+0

@Tommy, siehe mein Update. –

+0

Sie hatten Recht ... immer noch nicht ausgeführt – Tommy