ubuntuusers.de

Eigenes C PRogram "Permission denied"

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

imker

Anmeldungsdatum:
9. April 2006

Beiträge: Zähle...

Hallo zusammen,

ich bin mit Computern eingentlich recht vertraut, und Programier nun schon seit mehreren Jahren professionel Software für Windows unter VB, bzw VB.NET. Da ich aber Privat nur noch Linux (genauer Debian und Ubuntu) nutz, wollt ich nun endlich mal C und später C++ richtig lernen. Natürlich auf meinem Lieblings OS. Also hab ich mich mal auf blöd hingesetzt und ein kleines hello-world gebastelt. Und das kam dabei raus:

tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ cat hallo.c
#include <stdio.h>
int main(void)
{
        printf("Hello World\n");
        return 0;
}

tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ gcc -Wall -ggdb hallo.c -o hallo
tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ ./hallo 
bash: ./hallo: Permission denied
tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ chmod a+x hallo
tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ ls -l
insgesamt 12
-rwxr-xr-x 1 tobi tobi 7250 2008-01-03 22:48 hallo
-rw-r--r-- 1 tobi tobi   76 2008-01-03 22:47 hallo.c
-rw-r--r-- 1 tobi tobi    0 2008-01-03 22:44 hallo.c~
tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ ./hallo 
bash: ./hallo: Permission denied
tobi@ubuntu-work:/media/localdata/TobiLerntC/HelloWorld$ 

Ok und wo liegt nun der Fehler? das Ausführen Flag is doch auf der Datei gesetz! Wieso "Permission denied"?!

Ich versteh das grad nicht. Zugegeben es ist spät, und ich bin müde, aber sowas?

Wer weiß da weiter?

Gruß
imker

sxfreak

Avatar von sxfreak

Anmeldungsdatum:
27. Juni 2006

Beiträge: 436

Hi

Hast dus schon mal versucht wo anders auszuführen (oder als root) ? Und welches Dateisystem ist die Platte auf der du das hast?
(ok ich könnts mir eigentlich kaum vorstellen dass es daran liegt, aber was anderes fällt mir ned ein)

lg sx

tux21b Team-Icon

Avatar von tux21b

Anmeldungsdatum:
15. August 2005

Beiträge: 1698

Wohnort: Linz.at

Die Partition auf /media/localdata ist mit dem "noexec"-Flag gemountet. Entweder kopierst du die Datei in dein home-Verzeichnis (welches normalerweiße kein noexec-flag hat), oder du schaust dir deine /etc/fstab (bzw. den mount-Befehl) genauer an. In deiner fstab steht bei /media/localdata scheinbar "noexec" dabei (oder ein anderes Flag wie z.B. user oder users, welches noexec aus Sicherheitsgründen impliziert). Mehr steht wie immer im Manual bei "man mount" 😉

Gruß
Christoph

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Vielleicht ist die Partition, auf der das Programm liegt, mit dem noexec-flag gemountet.

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

No shit, sherlock! 😉

Es könnte doch sein, dass die Partition mit dem noexec-Flag gemountet ist!

imker

(Themenstarter)

Anmeldungsdatum:
9. April 2006

Beiträge: 75

Hi Leute,

danke für die schnelle Antwort. Ich weiß das ich /media/localdata mit der option user mounte. Das ist dann wohl das Problem. Hm. Mein Home hol ich mir aber via smb share.. ist da das Flag auch automatisch gesetzt?
Bin grad in der Arbeit. Kann deshalb nicht testen...

Gruß
imker

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

Paste mal die fstab und mount und versuch mal, explizit mit 'exec' zu mounten.

imker

(Themenstarter)

Anmeldungsdatum:
9. April 2006

Beiträge: 75

Danke an alle,

es war das noexec Flag beim mounten, das wohl durch die Option users in der /etc/fstab mit gesetzt wurde.

Nun gut, ich hab jetzt das Verzeichnis ins home gepackt. Nun klappt es.

Gruß
imker

Antworten |