Page 1 sur 1

[restauration]fichiers inaccessible(résolu)

Publié : lun. 01 nov. 2010, 11:48
par Tucky
Bonjour,
j’ai des documents sur un disque dur externe formaté en ext4 que je ne peux pas lire.
Ils sont dans un un répertoire nommé «Documents» dont j’ai les droits.
Lorsque je veux entrer dans ce répertoire, j’ai le message «Permission non accordée», mais si j’y vais en root, je n’ai pas de problème.
Les fichiers sont visibles, mais je ne peux pas les ouvrir. Si je copie (en root) les fichiers dans mon répertoire personnel, je peux les ouvrir, mais pas si je fait un «cp -r Documents /home».
Il faut que je les copie un par un.
Ensuite, si je veux les supprimer, j’ai le message «supprimer fichier (protégé en écriture) ?».

Comment puis-je copier le répertoire sans copier les fichiers un par un ?

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 12:08
par benjarobin
Un petit chown devrai résoudre les problèmes
Quel est l'user des fichiers et le groupe, en gros que donne un ls -la

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 12:27
par Tucky
Justement, c’est ça le problème:

en tant qu’«archtucky» (mon nom d’utilisateur):

Code : Tout sélectionner

ls: impossible d'accéder à /media/disk-2/vieux/Documents/Cours/Électromagnétisme et Relativité: Permission non accordée
ls: impossible d'accéder à /media/disk-2/vieux/Documents/Cours/Noyaux et radioactivités: Permission non accordée
ls: impossible d'accéder à /media/disk-2/vieux/Documents/Cours/Cours astrophysique: Permission non accordée
total 0
-????????? ? ? ? ?              ? complément phy stat 2.pdf
d????????? ? ? ? ?              ? Cours astrophysique
En tant que root:

Code : Tout sélectionner

drwxrwxr-x  2 archtucky 500 4,0K 13 févr.  2009 Électromagnétisme et Relativité
drwxrwxr-x  2 archtucky 500 4,0K 31 oct.  20:16 Noyaux et radioactivités
drwxr-xr-x  3 archtucky 500 4,0K 14 nov.   2007 Cours astrophysique
-rw-r--r--  1 archtucky 500  90K 23 mai    2008 complément phy stat 2.pdf
J’ai bien les droits !

Et puis du -sh en root:

Code : Tout sélectionner

1,2G    .
Donc les données existent bien.

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 14:03
par benjarobin
Oui mais que donne un chown sur un dossier en récursif ? Cela résout le problème ? Car apparemment il ne connait pas le groupe 500
Sinon, tu l'a monté comment ce disque ?

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 14:26
par Tucky
J’ai copié le répertoire dans mon home en root et fait un

Code : Tout sélectionner

chown -R archtucky:users Cours
maintenant un ls -la en root me donne :

Code : Tout sélectionner

drwxr-xr-x  2 archtucky users 4,0K  1 nov.  11:18 Électromagnétisme et Relativité
drwxr-xr-x  2 archtucky users 4,0K  1 nov.  11:18 Noyaux et radioactivités
drwxr-xr-x  3 archtucky users 4,0K  1 nov.  11:18 Cours astrophysique
Et toujours la même chose en utilisateur normal, les fichiers restent inaccessibles.
le montage se fait automatiquement par KDE.

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 14:47
par benjarobin
Tu veux dire que tu n'as pas accès dans ton home avec ton utilisateur, alors que tu as copié tout le dossier avec succès dans ton home ?

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 15:05
par Tucky
En root j’ai fait un :

Code : Tout sélectionner

cp -R Cours /home/archtucky
chown -R archtucky:users /home/Cours
Et je n’y ai toujours pas accès. (en root un ls -l m’indique que j’ai bien que je suis proprio et que j’ai les droits en lecture et écriture)

Mais si je copie un à un les fichiers et que je fait un chown, je peux les lire !

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 15:30
par benjarobin
Eu il y a pas un problème ici : chown -R archtucky:users /home/Cours
Le chemin n'est pas valide, je pense que c'est un oublie, mais on sait jamais.
Cela parait en tout cas très très bizarre ton histoire

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 17:21
par Tucky
Oui c’est un oubli.
J’ai contourné le problème:
j’ai copié en root le répertoire sur une clef usb en fat puis recopié à nouveau dans mon home.
Maintenant c’est bon j’ai accès à tout.
Vraiment étrange cette histoire !

[édit] en fait non, je n’ai pas accès à tout pour le répertoire du home. Mais sur la clef usb c’est bon.

Re: [restauration]fichiers inaccessible

Publié : lun. 01 nov. 2010, 22:34
par Tucky
C’est bon j’ai trouvé!
C’était simplement que les répertoires n’avaient pas les droits en exécution (je n’ai jamais compris pourquoi ils devaient avoir ce droit, c’est pour ça que je n’y ai pas pensé tout de suite) !
Par contre, si on veut changer récursivement les droits sur les répertoires, mais pas sur les fichiers qu’ils contiennent,(et vis-versa), comment on fait ?

Re: [restauration]fichiers inaccessible

Publié : mar. 02 nov. 2010, 14:30
par FoolEcho
Y a pas de commande pour faire ça directement à ma connaissance... mais ça peut se faire très bien.
*se remémorant un peu le shell*
*testant un peu*

Démonstration: :mrgreen:

Changement de droits sur l'ensemble des sous-répertoires:

Code : Tout sélectionner

find /CHEMIN/VERS/REPERTOIRE/ -type d -exec chmod 755 {} \; 
Sur un modèle similaire, changement de droits sur tous les fichiers d'une arborescence donnée:

Code : Tout sélectionner

find /CHEMIN/VERS/REPERTOIRE/ -type f -exec chmod 644 {} \;
Avec les droits que tu veux ou avec chown à la place du chmod, bien sûr...
Après, libre à toi d'en faire un script bash... ... mais attention aux bétises... :copain:

Re: [restauration]fichiers inaccessible

Publié : mar. 02 nov. 2010, 15:06
par Tucky
:copain:
Je revenais pour poster le solution que je venais de trouver et c’est exactement ce que tu me proposes !
Je savais qu’avec find il y avais l’option type, et en lisant son putain de manuel pour trouver quelle lettre suivait, (comme je parcours toujours un peu le manuel même après avoir trouvé l’option que je cherche) j’ai trouvé l’option exec.

C’est plutôt puissant comme truc ! :mrgreen:

Sinon, quand je copie un fichier sur ma clef usb, il obtient les droits en exécution même si l’original ne les a pas. C’est lié à la manière dont elle est montée ? (elle est montée automatiquement par KDE).

Je pense que c’est ce qui s’est passé sur le disque externe et j’ai du faire un «chmod -x *» sans penser que ça affecterai l’accès aux répertoires.

en tout cas :
:merci:

Re: [restauration]fichiers inaccessible(résolu)

Publié : mar. 02 nov. 2010, 17:05
par FoolEcho
Tucky a écrit :C’est plutôt puissant comme truc ! :mrgreen:
+1
Sinon on peut le faire comme un bourrin (j'ai hésité à le proposer, histoire de voir si ça faisait bondir des gens :humour: ): parcourir l'arborescence et tester chaque fichier ou dossier pour appliquer ou non le changement de droit... mais c'est tout de suite moins élégant et moins souple... particulièrement si on veut exclure ou inclure des motifs ou des expressions régulières sur les fichiers... (note que la version de base inclue les fichiers "cachés") :mrgreen:

Tucky a écrit :Sinon, quand je copie un fichier sur ma clef usb, il obtient les droits en exécution même si l’original ne les a pas. C’est lié à la manière dont elle est montée ? (elle est montée automatiquement par KDE).
Je ne voudrais pas dire de grosse bétise, mais je crois que c'est avant tout lié au type de volume du disque ou de la clé.
Avec un disque en ext3 (qui gère les permissions), aucun problème à copier avec les bonnes permissions et groupes.
Avec une clef en vfat (qui ne les gère pas), le +x s'ajoute systématiquement, comme dans ton cas...
C'est ce que je constate chez moi en tous cas. Ainsi, le premier me sert pour les backups... La seconde pour une compatibilité sans me prendre la tête avec d'autres OS qui ne connaissent pas ext3...

Re: [restauration]fichiers inaccessible(résolu)

Publié : mar. 02 nov. 2010, 17:41
par tuxce
les 2 find peuvent se remplacer par:

Code : Tout sélectionner

chmod -R a=,u=rwX,go=rX chemin_du_rep

Re: [restauration]fichiers inaccessible(résolu)

Publié : mar. 02 nov. 2010, 19:48
par FoolEcho
Indeed. :chinois: (c'est juste moins souple que le find si, par exemple, on veut changer les droits pour certains noms/"types" de fichiers mais pour renommer l'ensemble, c'est clair que c'est mieux... ça m'a permis de regarder le 'X' que je ne connaissais pas :) ).
<HorsSujet>J'adore le shell, on peut faire plein de trucs de plein de façons différentes. :copain: </HorsSujet>