Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    41

    permission denied

    Devo eseguire un programma fatto da me in C++ ma non mi fa dare i permessi.
    o
    Mi spiego meglio. Il programma compila bene tramite Makefile
    codice:
     CC = mpicxx  NAME = floyd1 CFLAGS = -O3  MODULES = floyd1.o Graph.o  
    all 		:	floyd1 
    Graph.o		:       Graph.cc Graph.h 	$(CC) $(CFLAGS) -c Graph.cc 
    floyd1.o   :	floyd1.cc 	$(CC) $(CFLAGS) -c floyd1.cc 
    floyd1 :		$(MODULES) 	$(CC) $(CFLAGS) $(MODULES) -o $(NAME) $(EXTRALIBS)
    e ovviamente, mi dice che non ci sono i permessi di esecuzione quando digito il comando
    codice:
    ./floyd1 input/input4
    dove input4 è il file di input.
    Quindi provo a dargli i permessi con
    codice:
    chmod 777 floyd1
    , non mi da nessun errore, ma quando provo a rieseguire mi dice che mancano i permessi.
    Per di più provo a darglieli cliccando sulle proprietà del file eseguibile ma non appena seleziono Write and Read in automatico mi riposiziona None.

    Che faccio?

  2. #2
    Di base il compilatore dovrebbe marcare già di suo l'eseguibile generato come eseguibile, per cui il chmod in teoria dovrebbe essere superfluo.
    Domanda: il tuo utente è proprietario del file/della directory? Perché questo potrebbe essere un motivo per cui potrebbe non farti fa cambiare i permessi...
    ---edit---
    ... ma non tornerebbe con il fatto che non chmod non ti dà errori... fai così: dai
    codice:
    ls -l
    sia prima che dopo il chmod che vediamo.

    Inoltre: per caso stai lavorando su una partizione FAT (es. una chiavetta) o che comunque non supporta i permessi UNIX?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    41
    sia prima che dopo il chmod:
    codice:
    -rw------- 1 utente utente    844 ott  5  2010 creaejemplo.cpp 
    -rw------- 1 utente utente  85900 nov 21 19:04 floyd1 
    -rw------- 1 utente utente   4359 nov 21 00:49 floyd1.cc 
    -rw------- 1 utente utente   4004 nov 21 00:48 floyd1.cc~ 
    -rw------- 1 utente utente 101244 nov 21 19:04 floyd1.o 
    -rw------- 1 utente utente   5128 nov 16 17:53 floyd2.cc 
    -rw------- 1 utente utente   5117 nov 16 17:19 floyd2.cpp~ 
    -rw------- 1 utente utente   3067 nov  9 18:24 floyd.cc~ 
    -rw------- 1 utente utente   2154 nov 21 00:27 Graph.cc 
    -rw------- 1 utente utente   2112 nov 21 00:26 Graph.cc~ 
    -rw------- 1 utente utente    816 nov 21 00:27 Graph.h 
    -rw------- 1 utente utente    784 nov 21 00:24 Graph.h~ 
    -rw------- 1 utente utente  6552 nov 21 19:04 Graph.o 
    drwx------ 1 utente utente      0 nov 21 18:03 input 
    -rw------- 1 utente utente   275 nov 21 18:04 Makefile 
    -rw------- 1  utente utente    309 nov 20 22:27 Makefile~
    non sto lavorando su una chiavetta, ho installato linux nella partizione C di windows.

  4. #4
    Uhm non avrai usato quell'abominio di wubi?

    Comunque, che output ti danno
    codice:
    pwd
    whoami
    mount
    ?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    41
    si ho usato wubi, ma è la prima volta che mi succede.

  6. #6
    Originariamente inviato da MItaly
    Comunque, che output ti danno
    codice:
    pwd
    whoami
    mount
    ?
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    41
    il primo comando mi rida il path ed è corretto, il secondo il nome dell amministratore, ovvero io e il terzo questo:

    codice:
    /dev/loop0 on / type ext4 (rw,errors=remount-ro) 
    proc on /proc type proc (rw,noexec,nosuid,nodev) 
    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) 
    none on /sys/fs/fuse/connections type fusectl (rw) 
    none on /sys/kernel/debug type debugfs (rw) 
    none on /sys/kernel/security type securityfs (rw) 
    udev on /dev type devtmpfs (rw,mode=0755) 
    devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) 
    tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) 
    none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) 
    none on /run/shm type tmpfs (rw,nosuid,nodev) 
    /dev/sda3 on /host type fuseblk 
    (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096) 
    gvfs-fuse-daemon on /home/nomeutente/.gvfs type fuse.gvfs-fuse-daemon 
    (rw,nosuid,nodev,user=nomeutente) /dev/sda5 on /media/8688233e-7cf5-4379-a154-06333c08d79c type 
    ext4 (rw,nosuid,nodev,uhelper=udisks) 
    /dev/sda2 on /media/387049C870498D96 type fuseblk 
    (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
    scusa se te lo dico ma se sai già che eventuali prove fare in futuro dimmelo ora perchè non posso collegarmi ad internet da ubuntu (uso una scheda di rete esterna che non vuole saperne di ubuntu) e quindi devo fare sempre log in log out da windows e da ubuntu.

  8. #8
    il primo comando mi rida il path ed è corretto
    Eh mi interessava sapere appunto quale era questo path...

    Comunque, mi pare più un problema di Linux che di programmazione, cambio titolo e sposto nel forum appropriato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    41
    RISOLTO!

    il file era nella partizione di windows e quindi non potevo cambiargli i permessi da ubuntu. l'ho spostato e tutto ha funzionato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.