die Erlaubnis verweigert, mit meinem eigenen Programm (ubuntu)
Nicht genau-Programmierung im Zusammenhang mit...
Habe ich gebaut, das Programm, einige einfache opengl, führen Sie es und sh: /blabla Zugriff verweigert. Wie kann ich machen, dass dissaper?
das Programm macht einfach einen rotierenden Quadrat, und ich habe ubuntu 9.4
gerade herausgefunden, dass sogar int main(){} funktioniert nicht
- Was sind die Berechtigungen auf die Datei des Programms?
- Chmod 777 😛
- Was genau ist der Befehl, den Sie eingeben?
- run-Taste in codeblocks, ./testen nachdem ich die cd ... und doppelklicken Sie darauf. Keine von Ihnen Arbeit
- Beratung von Menschen, um Programme, die world-writable ist schrecklich Beratung: Es bedeutet, dass jeder mit Zugriff auf Ihre Maschine, auch die
nobody
Benutzer, die eigentlich keine Zugriffsrechte, können ändern Sie das Skript zum hinzufügen von potenziell schädlichen Inhalten.750
ist mehr als ausreichend für ein Skript will, führen sich selbst, oder755
für die Welt-Lesbarkeit und Ausführbarkeit. - In der Tat. Guter Herr, ich habe den Kommentar im Juni 2009. Das ist über 6 Jahre her. Ich glaube, an diesem Punkt hatte ich vielleicht einmal installiert Ubuntu via Wubi(lustige Sachen, Wubi, traurig, es ist nicht das erste Wartung mehr). Durch die Zusammenarbeit mit Ubuntu und andere Distributionen in einer beruflichen Tätigkeit seitdem ich nicht mehr das Gefühl, es ist komisch zu sagen "777 die Datei" so wie ich damals. Das ist wie wenn man sagt "nur merge entwickeln, in dem hotfix-Zweig, was ist schlimmer, dass passieren könnte". Das ist mir tatsächlich passiert einmal, holy sh*t, die mir kalten Schweiß.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem und es zeigte sich, dass meine partition gemountet wurde als noexec
cat /etc/mtab
Wenn ich konfigurierte Optionen in der /etc/fstab, die ich schrieb, exec,user, aber es scheint, dass die "user" - option standardmäßig legt "noexec". Wenn ich änderte die Reihenfolge dieser beiden user,exec lief alles wieder normal!
Hoffe, es hilft.
Wie sind Sie mit dem kompilieren? Kannst du das makefile? Wenn Sie
etwas verpasst?
Überprüfen Sie den mountpoint, um zu sehen, wenn es montiert ist als noexec durch ausführen von "mount"
Ich benutze CodeBlocks unter Ubuntu und habe genau dieses problem VIELE Male.
was KermiDT gesagt ist genau das die Lösung (wenn ich genügend rep-Punkte, würde ich gestimmt habe, es)
Die "user" - option standardmäßig legt "noexec".
also in /etc/fstab nur hinzufügen ,exec nach Benutzer.
also meins sieht so aus:
/dev/sda6 /media/DATA vfat uid=kenny,gid=kenny,users,user,exec 0 0
Obwohl, die spacingis ein bisschen aus... aber Sie bekommen die Idee.
Abgesehen von den oben erwähnten chmod +x Datei, ein anderes problem könnte eine fehlende Bibliothek. Um zu überprüfen, die erforderlichen Bibliotheken, verwenden Sie die ldd:
Wenn eine dieser Linien zeigt eine fehlende Bibliothek, wirst du wissen, was muss installiert sein, bevor Sie Ihr Programm.
Andere Möglichkeit ist, wenn Ihr Programm ist ein Skript (shell, perl, python oder anderen text-basiertes Programm). Die erste Zeile sieht so aus:
Wenn die Datei nicht gefunden werden kann, erhalten Sie eine permission-denied-Fehler.
Paar Fragen:
Erhalten Sie auch dieses problem beim ausführen von 32-bit-apps auf einem 64-bit-system. Ausführung:
und überprüfen Sie, dass beide entweder "i386" oder "amd64".
Wenn Sie nicht die gleichen sind, haben Sie einen Blick auf dieser Artikel:
Versuchen, ausführen des Befehls mit
strace
zu verfolgen, das erfolgreiche system fordert Sie macht und wo Sie aufhört.Dies ist, wie Sie es zu starten,
Tun, erhalten Sie eine "Zugriff verweigert" - Fehler oder so etwas wie "exec format error"? Mit
chmod +rx
auf die Datei, die Sie nicht schlagen dürfen "permission denied".Sollten Sie auch sicherstellen, dass Ihr Benutzername ist in der Gruppe video. Prüfen Sie die /etc/group, und stellen Sie sicher, dass Ihr Benutzername wird auf dem "video" - Linie.