permission verweigert die Ausführung eines eigenen Programms (ubuntu)

8

Nicht genau programmieren bezogen ...

Ich habe das Programm gebaut, ein paar grundlegende opengl, dann starte es und sh: / blabla Erlaubnis verweigert. Wie kann ich das abnehmen?

das Programm macht nur ein rotierendes Quadrat und ich habe ubuntu 9.4

hat gerade herausgefunden, dass auch int main () {} nicht funktioniert

    
csiz 17.06.2009, 11:10
quelle

9 Antworten

14

Ich hatte das gleiche Problem und es schien, dass meine Partition als noexec gemountet wurde Katze / etc / mtab

Als ich die Optionen in / etc / fstab konfiguriert habe, habe ich exec, user geschrieben, aber es scheint, dass die Option "user" standardmäßig "noexec" einrichtet. Wenn ich die Reihenfolge dieser beiden zu Benutzer, Exec geändert habe, ging alles wieder normal!

Ich hoffe, es hilft.

    
Przemyslaw Zych 17.02.2010 10:42
quelle
6
___ answer1008285 ___

Überprüfen Sie den Mountpoint, um zu sehen, ob er als noexec gemountet ist, indem Sie "mount"

ausführen     
___ answer3379168 ___

Ich benutze CodeBlocks auf Ubuntu und habe dieses genaue Problem VIELE Male gehabt. Was KermiDT gesagt hat, ist genau die Lösung (wenn ich genügend Rep-Punkte hätte, hätte ich es gewählt)

Die Option "user" richtet standardmäßig "noexec" ein.
also in / etc / fstab einfach hinzufügen, exec nach dem Benutzer. d. h. meins sieht so aus:
%code%
Obwohl der Abstand ein bisschen ist ... aber Sie bekommen die Idee.

    
___ answer1006433 ___

Abgesehen von der oben erwähnten Datei chmod + x könnte ein anderes Problem eine fehlende Bibliothek sein. Verwenden Sie ldd:

, um die erforderlichen Bibliotheken zu überprüfen %Vor%

Wenn eine dieser Zeilen eine fehlende Bibliothek anzeigt, wissen Sie, was installiert werden muss, bevor Sie Ihr Programm ausführen können.

Eine andere Möglichkeit ist, wenn Ihr Programm ein Skript ist (Shell, Perl, Python oder ein anderes textbasiertes Programm). Die erste Zeile sieht folgendermaßen aus:

%Vor%

Wenn diese Datei nicht gefunden werden kann, erhalten Sie den Fehler permission denied.

    
___ answer1006402 ___

Ein paar Fragen:

  1. Sind die Berechtigungen in der Datei korrekt eingestellt?
  2. Ist der Pfad zu einem Interpreter richtig eingestellt?
___ answer2240615 ___

Dieses Problem tritt auch auf, wenn Sie versuchen, 32-Bit-Anwendungen auf einem 64-Bit-System auszuführen. Ausführen:

%Vor%

und prüfen Sie, ob beide entweder "i386" oder "amd64" sind.

Wenn sie nicht gleich sind, sehen Sie sich Dieser Artikel :

    
___ answer2279935 ___

Ich hatte das gleiche Problem und es schien, dass meine Partition als noexec gemountet wurde Katze / etc / mtab

Als ich die Optionen in / etc / fstab konfiguriert habe, habe ich exec, user geschrieben, aber es scheint, dass die Option "user" standardmäßig "noexec" einrichtet. Wenn ich die Reihenfolge dieser beiden zu Benutzer, Exec geändert habe, ging alles wieder normal!

Ich hoffe, es hilft.

    
___ answer1006526 ___

Versuchen Sie, den Befehl mit %code% auszuführen, um die erfolgreichen Systemaufrufe zu verfolgen, die er ausführt, und wo er stoppt.

So könnten Sie es starten,

%Vor%

Erhalten Sie einen Fehler "Berechtigung verweigert" oder so etwas wie "exec Formatfehler"? Mit %code% für die Datei sollten Sie nicht "permission denied" drücken.

    
___ tag123opengl ___ OpenGL (Open Graphics Library) ist ein Grafikstandard und eine API, die plattformunabhängig und für Desktops, Workstations und mobile Geräte verfügbar ist. Es wurde entwickelt, um hardwarebeschleunigtes Rendering bereitzustellen und bietet daher eine erheblich verbesserte Leistung gegenüber dem herkömmlichen Software-Rendering. OpenGL wird für Anwendungen wie CAD-Software und Computerspiele verwendet. Der OpenGL-Standard sowie OpenGL ES wird von der Khronos-Gruppe gesteuert. ___ tag123ubuntu904 ___ Bei Problemen mit Ubuntu, Version 9.04. ___ answer1008271 ___

Sie sollten auch sicherstellen, dass Ihr Nutzername in der Videogruppe enthalten ist. Überprüfen Sie die / etc / group und stellen Sie sicher, dass Ihr Benutzername in der Zeile "video" angezeigt wird.

    
___ qstnhdr ___ permission verweigert die Ausführung eines eigenen Programms (ubuntu) ___ qstntxt ___

Nicht genau programmieren bezogen ...

Ich habe das Programm gebaut, ein paar grundlegende opengl, dann starte es und sh: / blabla Erlaubnis verweigert. Wie kann ich das abnehmen?

das Programm macht nur ein rotierendes Quadrat und ich habe ubuntu 9.4

hat gerade herausgefunden, dass auch int main () {} nicht funktioniert

    
___
Paolo Tedesco 17.06.2009 11:16
quelle
5

Überprüfen Sie den Mountpoint, um zu sehen, ob er als noexec gemountet ist, indem Sie "mount"

ausführen     
Paul Betts 17.06.2009 16:49
quelle
2

Ich benutze CodeBlocks auf Ubuntu und habe dieses genaue Problem VIELE Male gehabt. Was KermiDT gesagt hat, ist genau die Lösung (wenn ich genügend Rep-Punkte hätte, hätte ich es gewählt)

Die Option "user" richtet standardmäßig "noexec" ein.
also in / etc / fstab einfach hinzufügen, exec nach dem Benutzer. d. h. meins sieht so aus:
/dev/sda6 /media/DATA vfat uid=kenny,gid=kenny,users,user,exec 0 0
Obwohl der Abstand ein bisschen ist ... aber Sie bekommen die Idee.

    
Kenny Cason 31.07.2010 17:42
quelle
1

Abgesehen von der oben erwähnten Datei chmod + x könnte ein anderes Problem eine fehlende Bibliothek sein. Verwenden Sie ldd:

, um die erforderlichen Bibliotheken zu überprüfen %Vor%

Wenn eine dieser Zeilen eine fehlende Bibliothek anzeigt, wissen Sie, was installiert werden muss, bevor Sie Ihr Programm ausführen können.

Eine andere Möglichkeit ist, wenn Ihr Programm ein Skript ist (Shell, Perl, Python oder ein anderes textbasiertes Programm). Die erste Zeile sieht folgendermaßen aus:

%Vor%

Wenn diese Datei nicht gefunden werden kann, erhalten Sie den Fehler permission denied.

    
Eric Darchis 17.06.2009 11:20
quelle
1

Ein paar Fragen:

  1. Sind die Berechtigungen in der Datei korrekt eingestellt?
  2. Ist der Pfad zu einem Interpreter richtig eingestellt?
Rob Wells 11.09.2011 00:57
quelle
1

Dieses Problem tritt auch auf, wenn Sie versuchen, 32-Bit-Anwendungen auf einem 64-Bit-System auszuführen. Ausführen:

%Vor%

und prüfen Sie, ob beide entweder "i386" oder "amd64" sind.

Wenn sie nicht gleich sind, sehen Sie sich Dieser Artikel :

    
Charl 30.12.2012 10:16
quelle
0

Versuchen Sie, den Befehl mit strace auszuführen, um die erfolgreichen Systemaufrufe zu verfolgen, die er ausführt, und wo er stoppt.

So könnten Sie es starten,

%Vor%

Erhalten Sie einen Fehler "Berechtigung verweigert" oder so etwas wie "exec Formatfehler"? Mit chmod +rx für die Datei sollten Sie nicht "permission denied" drücken.

    
nik 17.06.2009 11:54
quelle
0

Sie sollten auch sicherstellen, dass Ihr Nutzername in der Videogruppe enthalten ist. Überprüfen Sie die / etc / group und stellen Sie sicher, dass Ihr Benutzername in der Zeile "video" angezeigt wird.

    
Eric 17.06.2009 16:47
quelle

Tags und Links