web-dev-qa-db-fra.com

Essayer de rendre le fichier exécutable sur USB, mais la permission ne "colle" pas

Duplicate possible:
Comment "chmod" sur une partition NTFS (ou FAT32)?

J'utilise LastPass comme gestionnaire de mot de passe et j'utilise Sesame pour l'authentification multifactorielle. Sous Windows, ce n’était pas un problème, mais j’alternais ordinateurs Windows et Linux, il fallait donc que Sesame soit disponible dans les deux cas.

Sur mon ordinateur portable, je suis sous Ubuntu 10.10 et j'ai téléchargé le LastPass Sesame 32 bits (Ubuntu 10.04 LTS) et transféré les fichiers (un exécutable et un .bin) sur mon périphérique USB. Comme indiqué, j’ai essayé d’exécuter chmod +x sesame sur le fichier exécutable (dont le nom est sesame ).

J'ai essayé ceci à partir de la fenêtre du terminal, mais lorsque j'ai fait un ls -la après, j'ai remarqué que les autorisations sur le fichier n'avaient pas changé un peu. J'ai essayé de faire la même chose en ajoutant Sudo au début, mais cela ne faisait aucune différence non plus (et je n'ai pas reçu de message d'erreur ni quoi que ce soit). J'ai également essayé de le faire de manière "graphique", en cliquant avec le bouton droit de la souris sur l'exécutable dans Nautilus> Propriétés> Autorisations, puis en cochant la case Autoriser l'exécution du fichier en tant que programme . - la case cochée a disparu après une seconde.

Si je déplaçais le même exécutable sur mon disque dur, cela fonctionnait très bien pour le rendre exécutable (et l'exécuter).

Je ne connais pas vraiment Linux, alors je suppose que quelque chose d’évident me manque. Cela pourrait-il avoir quelque chose à voir avec l'USB Fat32 (mais je pensais que les fichiers sur une partition Fat32 devraient être exécutables par défaut?), Et si oui, quelles sont mes options?

Et juste pour l'avoir dit: cela fonctionne très bien pour exécuter la version Windows de Sesame avec Wine, mais c'est un peu fastidieux (du moins si j'en ai besoin quelque part, Wine n'est pas déjà installé).

10
Julian

Vous ne pouvez pas chmod fat32 files .... seuls les systèmes de fichiers linux "acceptent" les autorisations linux.

Le moyen le plus simple serait de l'exécuter à partir de votre dossier de départ, par exemple ... Copiez-le là et chmod, puis exécutez-le comme vous l'aviez essayé auparavant, mais au nouvel emplacement.

Vous pouvez aussi vérifier ceci: Comment puis-je exécuter un exécutable à partir d’un CD alors que le bit d’exécutable n’a pas été défini? . En gros, il s'agit de savoir si le fichier est vraiment binaire ou s'il s'agit d'un script texte avec l'extension .bin. Si tel est le cas, vous pouvez l'exécuter avec bash, python, Ruby ou autre.

8
luri

Voir cette réponse . En gros, vous pouvez définir des autorisations lors du montage du périphérique. Dans votre cas, vous feriez quelque chose comme:

Sudo mount -t vfat -o rw,user,umask=000 /path/to/device /path/to/mount/dir

Pour un changement permanent, vous pouvez ajouter ceci à votre /etc/fstab:

  • Recherchez l'UUID (identificateur unique universel) de votre périphérique à l'aide de Sudo blkid.
  • Ajoutez la ligne de montage à /etc/fstab:

    UUID=your-uuid /path/to/mount/dir vfat rw,auto,user,umask=000 0 0
    
5
htorque