• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

keine berechtigung fuer ausfuehrung von c binaries

Hi,

ich wollte gerade zum programmieren loselegen unter meinem frisch installierten SuSE 10.2.
und habe ein kleines c prog geschrieben, im Prinzip hello world maessig. Also an dem prog. is definitiv alles richtig.

wenn ich es nun mit dem gcc kompeliere:

gcc test.c -o test

und nachher ./test es aurufen moechte, meldet mir die bash:

bash: ./test: Keine Berechtigung

Und das auch wenn es ich es als root versuche, ausserdem muesste es auch als user moeglich sein, denn ls -l liefert mir:

-rwxr-xr-x 1 joe users 9504 19. Mär 18:53 test

was is denn da los?

is dringen, muss das programm morgen abgeben!

danke
 
liegt definitiv nicht am code, naja hier isser:
Code:
#include <stdio.h>



int main(){

  printf("start");

return 0;
}
 
test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped

ldd test
not a dynamic executable

Auf nem anderen System laeuft das programm ohne probs.
evlt wird meine home partition falsch gemountet (aus fstab):

/dev/hda8 /home ext3 user,acl,user_xattr 1 2
 
Die Option user impliziert die Option noexec. Du musst dann zusätzlich die Option exec angeben:
/dev/hda8 /home ext3 user,acl,user_xattr,exec 1 2
 
Dann haben wir's ja.

Ein anderer beliebter Fehler ist das Programm nur als "test"
aufzurufen. Auch wenn es im Pfad gefunden werden sollte,
test ist ein interner Befehl. "./test" umgeht aber das Problem.

Der Name "test" hat mich bei meinem ersten Shellskript fast den
Verstand gekostet.. :)
Aber das ist schon lange her...

"ldd" ist immer ganz nett um fehlende Libraries zu finden.

Haveaniceday
 
Oben