La suppression d'un fichier est définitive!

Tags: #<Tag:0x00007f63e357e218>

Bonjour, je suis sous Debian 10, Buster, j’ai une partition monté par fstab avec la ligne :

#data
UUID=4b12d986-1c0d-4dad-a411-52bd0cd406c9	/media/henri/data	ext4	user	0	2

Si je supprime un ficher dans cette partition, j’ai l’alerte : « souhaites vous vraiment supprimer définitivement … »
Comment faire pour retrouver le passage par la corbeille, que j’avais sous Stretch ?
Merci

Question (et non soluce), car je n’ai jamais compris et suis juste manichéen.

Quand tu supprimes un fichier, tu veux le supprimer ou pas ?

Oui !
Mais il arrive (rarement …) que quelque jours après, suite à des évènements non prévus, je regrette de l’avoir supprimé !
Dans le fonctionnement de base, je le retrouve dans la corbeille (que je vide par ailleurs régulièrement).
C’est ce fonctionnement que je voudrais retrouver dans ma partition Data

Quels sont les droits sur /media/henri/data ?
Est-ce que tu vois un ou plusieurs dossiers /media/henri/data/.Trash-xxxx et à qui appartiennent-ils ?

ls -al /media/henri/data

Je crois que Tristan Colombo dans GLMF avait écrit un script en shell qui mimait le comportement d’une corbeille.

Bonjour

La racine du système de fichier monté sur /media/henri/data
ne semble pas être la propriété du compte henri
(peut-être est-ce encore le compte root qui en est propriétaire)

Donc, une fois le système de fichier monté sur /media/henri/data
avec les privilèges du compte root
lance la ligne de commande suivante :

chown henri:henri /media/henri/data

Maintenant que la racine de ce système de fichiers appartient au compte utilisateur Henri
et que le compte utilisateur Henri y a accès en lecture/écriture/exécution,
pour le compte utilisateur henri :

  • il n’y aura plus de mot de passe à entrer pour monter ce système de fichiers
  • la corbeille pour le compte henri
    sera créée à la racine de ce système de fichiers
    dès qu’il supprimera un fichier de ce système de fichiers.
2 J'aime

Bien vu Micp et Bruno1
/media/henri/data appartenait à root, je l’ai attribué à henri, et j’ai retrouvé ma corbeille.
Merci !

Si un jour tu recrées un système de fichiers sur cette partition (autrement dit formater la partition), tu devras, pour ce faire, pouvoir accéder au fichier de périphérique qui a été associé à cette partition (par ex. : /dev/sda1 ou /dev/sdc4, etc.)

mais pour avoir accès à ce fichier de périphérique tu devras avoir les privilèges du compte root
et le créateur de ce système de fichiers sera donc root

ce nouveau système de fichiers sera la propriété de son créateur : root,
et une fois monté, il sera toujours la propriété du compte root
tant que tu n’auras pas changé le propriétaire de la racine de ce système de fichiers.
(bien sûr, en utilisant les privilèges du compte root)

1 J'aime

Merci pour ces précisions qui me font comprendre la cause du souci !

Que je sache, il n’y a aucun rapport entre la capacité de monter un système de fichiers et les permissions de la racine du système de fichiers à monter.

D’autre part, si je puis me permettre de donner mon avis sur la ligne de montage dans /etc/fstab,

  • /media est un mauvais emplacement, réservé au montage des supports amovibles

  • je ne vois pas l’utilité de l’option « user » pour un montage automatique permanent (pas d’option noauto)

La cause réelle du souci est le choix fait par les développeurs de ton gestionnaire de fichiers concernant la spécification freedesktop pour la corbeille.

Il est possible que la création d’un dossier /media/henri/data/.Trash suffise à résoudre le problème sans avoir à changer les droits sur le point de montage.

Peux-tu préciser sur quel point ?

Si la racine du système de fichiers n’est pas la propriété du compte utilisateur,
et s’il est monté par le fichier /etc/fstab ou par une ligne de commande lancée par root
bien sur, il n’y aura pas de demande de mot de passe au montage.

Mais s’il est monté par un compte utilisateur non privilégié en utilisant l’interface graphique d’un gestionnaire de fichiers
et si la racine du système de fichiers n’est pas la propriété de ce compte utilisateur,
une fenêtre popup s’affichera pour demander le mot de passe du compte root
(ou celui de ce compte utilisateur s’il est dans la liste des sudoers).

Le choix étant de placer les fichiers supprimés dans un dossier Trash spécifique sur les partitions montées au lieu de le mettre dans le dossier personnel de l’utilisateur (/home/.local/share/Trash).

cf. la rubrique « Trash directories » du document cité plus haut.

Tu es sûr ? Ça me paraît très douteux, et illogique. Comment le bazar peut-il connaître le propriétaire de la racine du système de fichiers avant de l’avoir monté ?

Oui, j’ai refait plusieurs tests à l’instant.


EDIT : J’utilise XFCE

root@debT450:~# dd if=/dev/zero of=/home/michel/tests/diskAeff count=10M
10485760+0 enregistrements lus
10485760+0 enregistrements écrits
5368709120 octets (5,4 GB, 5,0 GiB) copiés, 27,0121 s, 199 MB/s
root@debT450:~# 
root@debT450:~# udisksctl loop-setup -f /home/michel/tests/diskAeff
Mapped file /home/michel/tests/diskAeff as /dev/loop0.
root@debT450:~# 
root@debT450:~# fdisk /dev/loop0

Bienvenue dans fdisk (util-linux 2.33.1).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.

Le périphérique ne contient pas de table de partitions reconnue.
Création d'une nouvelle étiquette pour disque de type DOS avec identifiant de disque 0x5e5cbb6b.

Commande (m pour l'aide) : n
Type de partition
   p   primaire (0 primaire, 0 étendue, 4 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : 

Utilisation de la réponse p par défaut.
Numéro de partition (1-4, 1 par défaut) : 
Premier secteur (2048-10485759, 2048 par défaut) : 
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (2048-10485759, 10485759 par défaut) : 

Une nouvelle partition 1 de type « Linux » et de taille 5 GiB a été créée.

Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.

root@debT450:~# 
root@debT450:~# ls -l /dev/loop0*
brw-rw---- 1 root disk   7, 0 mai   28 17:06 /dev/loop0
brw-rw---- 1 root disk 259, 0 mai   28 17:06 /dev/loop0p1
root@debT450:~# 
root@debT450:~# mkfs.ext4 -L monDiskAeff /dev/loop0p1
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: done                            
Creating filesystem with 1310464 4k blocks and 327680 inodes
Filesystem UUID: 5df37659-b255-4148-a97c-469ac994c77b
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

root@debT450:~# 
root@debT450:~#  ## Aussitôt après ça, le nouveau système de fichiers apparaît dans Thunar
root@debT450:~#  ##  mais il me faut entrer un mot de passe pour voir son contenu.
root@debT450:~#  ## Voir la capture d'écran en bas de ce message …
root@debT450:~# 
root@debT450:~# ls -l /media/michel/
total 4
drwxr-xr-x 3 root root 4096 mai   28 17:08 monDiskAeff
root@debT450:~# 
root@debT450:~# chown michel:michel /media/michel/monDiskAeff
root@debT450:~# 
root@debT450:~#  ## Et après ça, la fenêtre popup de demande de mot de passe n'apparaîtra plus.
root@debT450:~#  ##  À la première surpression de fichier, 
root@debT450:~#  ##   /media/michel/monDiskAeff/.Trash_1000  s'il n'existe pas, sera créé
root@debT450:~#  ##   et le fichiers supprimé ira dans la corbeille.
root@debT450:~#   

Capture d’écran_2020-05-28_17-11-16

Avec quel gestionnaire de fichiers ?

Thunar d’XFCE

Marche pas avec PCManFM de LXDE. Du moins pas tant que je n’ai pas tapé de mot de passe. Ensuite je peux monter tout ce que je veux quelles que soient les permissions tant que le cache de sudo n’expire pas.

Je n’ai pas encore testé PCManFM de LXDE
Je vais me créer une machine virtuelle pour tester ça…