GNU/Linux >> Tutoriels Linux >  >> Linux

Comment écrire des fichiers sur une clé USB sans être root ?

Vous avez formaté la partition sdb1 en utilisant un ext* système de fichiers (soit ext2 , ext3 , ou ext4; Je ne me souviens pas de la valeur par défaut). Il s'agit du système de fichiers par défaut sur les systèmes Linux et utilise les autorisations de fichiers Unix pour déterminer qui peut modifier des fichiers ou des répertoires. Les nouveaux systèmes de fichiers commencent toujours par la racine (/media/usb0 dans ce cas) appartenant à root:root , et généralement avec des autorisations permettant uniquement la modification par le propriétaire.

Pour voir cela par vous-même, montez le système de fichiers, puis exécutez ls -ld /media/usb0 pour voir la propriété actuelle / perms. Ma conjecture est :

drwx------ 2 root root 16384 Mar   2 20:08 /media/usb0

Une solution simple serait de a) chown le système de fichiers monté sur votre propre compte Linux, ou b) pour donner à chacun l'autorisation d'écriture avec chmod .

Cependant, au final, ce ne serait pas une bonne solution, car les fichiers créés appartiendraient à votre UID, et non au nom d'utilisateur; cela entraînerait rapidement des incompatibilités de comptes lorsque la clé USB est connectée à un système différent. En supposant que vous puissiez le connecter du tout, c'est-à-dire - Windows ne prend pas en charge ext3 sans supercherie supplémentaire, donc NTFS (mkfs.ntfs ) ou FAT32 (mkfs.vfat ) serait un bien meilleur choix pour le système de fichiers.


Cela se produit sur les systèmes Debian plus récents (par exemple, jessie) ainsi qu'avec certaines clés USB formatées en fat32 ou ext3,4. Vous devez supprimer (ou commentez) la ligne suivante de votre /etc/fstab :

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

Après cela, votre clé USB sera montée automatiquement avec l'autorisation de votre compte d'utilisateur habituel et non root. Voir les informations détaillées sur les forums Debian sur ce lien.

Après cela, votre clé USB se montera sans problème avec votre autorisation d'écriture d'utilisateur :)


Utilisez sudo et modifier les autorisations avec chmod commande.

Voir ma réponse dans cette question pour voir comment utiliser chmod :

  • Que signifie "chmod 666" ?

Je vous suggère d'utiliser chmod 777 pour autoriser tout (en utilisant ls -l il affichera drwxrwxrwx ).


Linux
  1. Déplacer des fichiers sur Linux sans mv

  2. Comment masquer des fichiers et des dossiers dans le gestionnaire de fichiers sans les renommer

  3. Comment afficher les fichiers gzippés en moins sans avoir à taper Zless ?

  4. Comment monter un fichier image sans root ?

  5. Monter et modifier un fichier loopback sans sudo/root, est-ce possible ?

Comment lire des fichiers ligne par ligne dans Bash

Comment tronquer des fichiers (vides) sous Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment convertir des fichiers en différents formats sans utiliser de logiciel

Comment compresser un fichier sous Linux

Comment fonctionnent les autorisations de fichiers pour l'utilisateur root ?