Activation Corbeille dans Volume monté Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

Sur une machine qui n'a qu'1 HDD

J'ai créé une partition NTFS pour un espace de stockage de données partagé entre Debian et Vista

Cette partition est montée dans : /home/user1/Data (user1 = unique utilisateur — avec root)

Cette partition a une entrée dans /etc/fstab :

Code : Tout sélectionner

UUID=240672E6415D0DA0	/home/user1/Data	ntfs	defaults	0	2

Le montage et l'accès/création des fichiers se font sans problème,
la suppression directe aussi,

mais un message :
Impossible de trouver ou créer le répertoire de la corbeille pour /home/user1/Data/...
si on veut mettre dans la corbeille.

Le répertoire .Trash-1000 ne se crée pas automatiquement comme lors de la suppression d'un fichier sur une partition d'un volume amovible.

Cela devient gênant lorsqu'une application (p.ex: Zim) utilise la corbeille pour supprimer certains de ses objets,
car cela rend la suppression impossible et génère des erreurs.

Question :

Comment activer/forcer la création de .Trash-1000 sur cette partition ?
ou
Pourquoi la création de .Trash-1000 est-elle bloquée sur cette partition ?

Merci.
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Je ne connais pas grand-chose à ces trucs d'interface graphique. D'après quelques tests effectués avec LXDE et son gestionnaire de fichiers PCManMF, en dehors du système de fichiers contenant son répertoire personnel, l'utilisateur doit avoir la permission en écriture à la racine du système de fichiers contenant le fichier à supprimer (dans ton cas /home/user1/Data) pour y créer le répertoire .Trash-$UID.

D'après les options de montage dans ton fstab, un utilisateur non root ne devrait même pas pouvoir écrire où que ce soit dans le système de fichiers NTFS car par défaut le propriétaire est l'utilisateur qui a monté le système de fichiers, donc root ici. Mais c'est contradictoire avec le fait que tu puisses y créer et supprimer des fichiers, donc quelque chose m'échappe. La sortie des commandes suivantes pourrait m'éclairer :

Code : Tout sélectionner

mount | grep /home/user1/Data
ls -ld /home/user1/Data
Qui qu'il en soit, je pense que tu peux créer le répertoire en root et en donner la propriété à ton utilisateur.

EDIT après d'autres test :
- Le montage par ntfs-3g semble donner toutes les permissions à tous les utilisateurs.
- Même si le répertoire .Trash-$UID existe et l'utilisateur a la permission d'écrire dedans, ça ne suffit pas. Apparemment il doit appartenir à l'utilisateur, ce qui n'est pas possible avec NTFS dans ton cas car tout le système de fichiers appartient à root et les propriétaires et permissions sont définis globalement au montage et non modifiables. Il faut donc monter le système de fichiers pour qu'il appartienne à l'utilisateur, par exemple en ajoutant l'option uid=<user> dans les options de fstab. Mais ça ne marchera qu'avec cet utilisateur.

EDIT 2 :
Par contre PCManFM n'affiche pas les fichiers mis à la corbeille. Pourtant ils y sont bien.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,
D'après les options de montage dans ton fstab, un utilisateur non root ne devrait même pas pouvoir écrire où que ce soit dans le système de fichiers NTFS car par défaut le propriétaire est l'utilisateur qui a monté le système de fichiers, donc root ici. Mais c'est contradictoire avec le fait que tu puisses y créer et supprimer des fichiers, donc quelque chose m'échappe.
Oui, j'ai pas mal galéré,

au début j'avais choisi : /media/user1/data
qui me paraissait plus indiqué

Mais :

Code : Tout sélectionner

# chown user1:user1 /media/user1/data
était inopérant

J'ai donc créé : /home/user1/Data avec user1 pour être certain d'avoir des droits récursifs

mais j'ignorais que le montage par le système allait remodifier les permissions par derrière ...

De toute façon l'utilisateur n'aura jamais le droit de monter une partition ?...
et si le montage change les droits ???

Pourtant un volume usb (re)donne les droits à l'utilisateur ??? après le montage ???

À un moment, j'ai eu toutes les permissions pour tout le monde et ça ne me plaisait pas non-plus je voulais juste un accès en lecture pour les autres (par précaution)
mais je ne sais plus trop comment j'y suis parvenu ...

Code : Tout sélectionner

sudo chown -R user1:user1 /home/user1/Data/
est la dernière commande que j'ai passé,
mais j'ai aussi utilisé thunar et PCmanFM

Voici le retour des commandes :

Code : Tout sélectionner

mount | grep /home/user1/Data
/dev/sda7 on /home/user1/Data type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

Code : Tout sélectionner

ls -ld /home/user1/Data
drwxrwxrwx 1 root root 4096 juin   3 13:59 /home/user1/Data

J'ai vérifié que ntfs-3g est installé >> ok

man ntfs-3g
écrit
allow_other
This option overrides the security measure restricting file access to the user mount‐
ing the filesystem. This option is only allowed to root, but this restriction can be
overridden by the 'user_allow_other' option in the /etc/fuse.conf file.
ça va donner les droits à tout le monde
=> c'est pas ce que je souhaitais car cette partition est faite pour ne pas saturée la partition /home en suppléant ~/Documents


man mount a une rubrique pour ntfs donc il le prend en charge ?

PCmanFM met root comme proprio & groupe et tous les accès à tout le monde (<=> rwxrwxrwx de ls)

Ça doit pourtant être courant comme problème, mais le coin-coin reste muet... je n'ai rien trouvé :017:
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

dezix a écrit : De toute façon l'utilisateur n'aura jamais le droit de monter une partition ?
Si, avec l'option user ou users dans fstab. Il y a d'autres façons de monter en tant qu'utilisateur (pmount, udisks...) mais je ne les connais pas bien.
dezix a écrit : Pourtant un volume usb (re)donne les droits à l'utilisateur ?
Le montage des volumes amovibles est géré différemment par les environnements de bureau.
dezix a écrit : ça va donner les droits à tout le monde
=> c'est pas ce que je souhaitais car cette partition est faite pour ne pas saturée la partition /home en suppléant ~/Documents
Je ne vois pas le rapport.
dezix a écrit : man mount a une rubrique pour ntfs donc il le prend en charge ?
Oui, mais il s'agit des options de montage pour le pilote interne du noyau, pas pour ntfs-3g. Si on utilise "ntfs" comme type de fichiers dans fstab ou directement dans mount quand ntfs-3g est installé, c'est ntfs-3g qui est utilisé par défaut. La seule possibilité de forcer l'utilisation du pilote interne est d'utiliser l'option -i avec la commande mount. De toute façon les fonctionnalités en écriture du pilote ntfs interne du noyau sont très limitées (modification d'un fichier existant).
dezix a écrit : À un moment, j'ai eu toutes les permissions pour tout le monde et ça ne me plaisait pas non-plus je voulais juste un accès en lecture pour les autres (par précaution)
Avec les options uid=,gid= et umask=.
Avatar de l’utilisateur
Jul
Messages : 5
Inscription : 25 juin 2016, 20:45
Status : Hors-ligne

Bonjour,
Je me greffe sur ce post car j'ai rencontré le même soucis, il me semble que j'avais passé ces options dans le fstab pour le montage des dossiers ntfs pour retrouver ma chère corbeille....

Code : Tout sélectionner

uid=1000,gid=1000
ex chez moi (avec corbeille ok)

Code : Tout sélectionner

UUID=3AD47C15D47BD21D	/mnt/datas_win		ntfs		defaults,uid=1000,gid=1000		0	0
sid/amd64/gnome-shell
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

@Jul
Bonjour,
et merci, mais j'ai déjà écrit mon laïus ... alors je poste :003:
je n'ai pas le détail de "defaults" sous les yeux, mais ça doit être assez proche de mes options...

Donc:
Une fois de plus la précieuse aide de PascalHambourg m'a mis sur la bonne voie, merci.

La base du problème vient effectivement des permissions accordées/définies lors du montage de la partition.

Et le point crucial de ce cas particulier et qu'il s'agit d'une partition NTFS,

car j'ai pour habitude de prévoir une partition autre que /home pour le stockage des documents.

Mais habituellement comme je ne prévois pas de me servir de Windows,
j'utilise une partition ext3 ou 4 partagée entre les divers Linux que je pourrais installer.

Avec une partition linux,
une ligne comme :

Code : Tout sélectionner

UUID=5a0ac88d-1.......      /point/montage  ext4    defaults    0       2
fonctionne parfaitement.

Mais pour une partition NTFS (ou VFAT) c'est différent ...

Les partitions NTFS sont gérées par ntfs-3g (qui fonctionne différemment de mount)

Dans mon cas pour donner les droits suffisants à mon user1 et restreindre ceux d'éventuels autres utilisateurs,
il me faut mettre la ligne suivante dans /etc/fstab :

Code : Tout sélectionner

UUID=240672E6415D0DA0	/home/user1/Data	ntfs-3g	rw,user,auto,exec,gid=1000,uid=1000,umask=0022,utf8,codepage=850	0	0
où :
type de partition
* ntfs-3g au lieu de ntfs pour l'utilisation de ntfs-3g

options
* rw lecture/écriture => correspond à 0666 pour les fichiers
* user permet le montage par l'utilisateur
* auto montage automatique
* exec permet l'execution
* gid=1000 fixe le groupe du point de montage (user1)
* uid=1000 fixe le propriétaire du point de montage (user1)
* umask=0022 restreint les permissions en retranchant la valeur du masque à la valeur des droits initiaux ; ici 0666-0022 =>0644 = rw r r
* utf8 codage des caractères de ..... je ne sais pas trop.... les noms de fichiers probablement
* codepage=850 je n'ai pas saisi le détail, ça a rapport avec la longueur des noms de fichiers (pour les tronquer si nécessaires)

J'ai trouvé l'info dans :
les manuels de : ntfs-3g ; mount ; fstab
https://doc.ubuntu-fr.org/tutoriel/comm ... ns_windows
https://doc.ubuntu-fr.org/mount_fstab
et
https://www.it-connect.fr/gestion-de-lumask-sous-linux/ pour umask

Les 2 derniers champs de la ligne sont à zéro

le premier dump - ext2/3/4 filesystem backup donc pas pour ntfs voir : http://www.linuxcertif.com/man/8/dump si pas installer

le second fsck ne prend pas en charge ntfs (les vérifications se feront sous Win)


Remarque Importante:

Le manuel de ntfs-3g recommande de désactiver les fonctions d'hibernation et redémarrage rapide de Windows (sous Windows) avec la commande :

Code : Tout sélectionner

powercfg /h off
et donc de faire impérativement un arrêt total de Windows quand on le quitte pour passer sous Linux (sous peine de problèmes)

Conclusion
Mes options ne sont peut-être pas au top mais ça marche => la corbeille est fonctionnelle
et

Code : Tout sélectionner

ls -ld /home/user1/Data
drwxr-xr-x 1 user1 user1 4096 juin   3 22:28 /home/user1/Data

Voilà, je le marque Résolu

Et encore merci pour l'aide.

@+
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Petits commentaires secondaires.
dezix a écrit : Les partitions NTFS sont gérées par ntfs-3g (qui fonctionne différemment de mount)
Les partitions NTFS sont toujours montées par mount, qui fait appel à ntfs-3g s'il est présent. Sinon il fait appel au pilote interne ntfs du noyau.
dezix a écrit : type de partition
* ntfs-3g au lieu de ntfs pour l'utilisation de ntfs-3g
Si ntfs-3g est installé, alors le type "ntfs" est équivalent à "ntfs-3g" car mount.ntfs est un lien symbolique qui pointe vers mount.ntfs-3g. (Quand mount doit monter un système de fichiers de type "truc", il cherche d'abord s'il y a un programme mount.truc et l'exécute, sinon il fait appel au pilote "truc" du noyau.)
dezix a écrit : * rw lecture/écriture => correspond à 0666 pour les fichiers
Pas vraiment. Cela n'affecte pas les permissions mais le montage en lecture-écriture (rw) ou en lecture seule (ro). Différence marquante : même root, qui ignore les permissions, ne peut pas écrire sur un système de fichiers monté en lecture seule.
dezix a écrit : * user permet le montage par l'utilisateur
* auto montage automatique
Si le système de fichiers est monté automatiquement au démarrage, je ne vois pas l'intérêt de permettre le montage par un utilisateur.
dezix a écrit :Les 2 derniers champs de la ligne sont à zéro
Et peuvent être omis car ils sont optionnels.
dezix a écrit : faire impérativement un arrêt total de Windows quand on le quitte pour passer sous Linux
La formulation de cette phrase peut prêter à confusion.
Pour l'utilisateur commun, "arrêt total" signifie menu démarrer > arrêter. Or c'est précisément ce qu'il ne faut pas faire si le démarrage rapide de Windows est activé car cela va déclencher l'hibernation hybride de Windows. Au contraire, le plus sûr est de faire "redémarrer" car même si le démarrage rapide est activé cela opère un arrêt total de Windows sans hibernation hybride.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

PascalHambourg a écrit :Petits commentaires secondaires.
... bien nécessaires :004:
PascalHambourg a écrit : Si le système de fichiers est monté automatiquement au démarrage, je ne vois pas l'intérêt de permettre le montage par un utilisateur.
Je supposais (à tord) que :
comme il est possible de le démonter via le menu contextuel de l'icon du volume sur le Bureau ou/et dans le panneau du navigateur,
l'utilisateur peut vouloir le remonter par la suite ...

=> j'ai supprimé user des options >> pas de changement

Sous Windows (vista)
Pour passer la commande de désactivation de l'hibernation

Code : Tout sélectionner

powercfg /h off
Taper 'Windows powershell' dans la recherche d'applications et dans le menu contextuel du résultat choisir "executer comme admin..."
Si on a copié la commande dans le presse-papier windows => un clic droit derrière l'invite colle son contenu.

Plus de détails sur la console Windows
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

dezix a écrit : comme il est possible de le démonter via le menu contextuel de l'icon du volume sur le Bureau ou/et dans le panneau du navigateur,
l'utilisateur peut vouloir le remonter par la suite
Normalement, le mot de passe root est nécessaire pour démonter un système de fichiers monté via fstab, sauf si l'option "users" (au pluriel, à ne pas confondre avec l'option "user" au singulier) a été spécifiée.
Dans le cas contraire il y a un gros problème car n'importe quel utilisateur pourrait démonter n'importe quel système de fichiers système comme /var, /home...
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Oui, l'identification est requise dans les 2 sens, j'aurais du le préciser.
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Si un utilisateur connaît le mot de passe root pour démonter le volume, il n'a pas besoin de l'option "user" pour le remonter.
Répondre