En essayant de gérer la corbeille à partir de volumes NTFS montés, j'ai fini par lire la référence de FreeDesktop.org à ce sujet.
En fouinant et en faisant quelques tests, j'ai réalisé qu'Ubuntu/Gnome ne respecte pas les spécifications à 100 %. Voici pourquoi :
-
Pour les partitions non-/, il toujours utilise
<driveroot>/.Trash-<uid>
, Il jamais utilisé<driveroot>/.Trash/<uid>
, même si je l'ai créé à l'avance. Tant que ça marche, c'est embêtant :si j'ai 15 utilisateurs, je me retrouve avec 15/.Trash-xxx
dossiers dans mon lecteur, tandis que l'autre approche donnerait toujours un seul dossier (avec 15 sous-dossiers). Cette « pollution » dans mes lecteurs est très désagréable. Et les spécifications disent "Si un$topdir/.Trash
répertoire est absent, un$topdir/.Trash-$uid
répertoire doit être utilisé “. Eh bien, il est présent, alors pourquoi ne l'utilise-t-il jamais ? -
la corbeille racine ne le fait pas travail, du moins pas hors de la boîte. Ouvrez Nautilus en tant que root et cliquez sur la corbeille ; ça donne une erreur. Essayez de supprimer n'importe quel fichier, il dit "il ne peut pas être déplacé vers la corbeille". Ok, je sais que cela peut être résolu en créant
/root/.local/share
. Mais les spécifications indiquent "Un répertoire" corbeille personnelle "DOIT être automatiquement créé pour tout nouvel utilisateur. Si ce répertoire est nécessaire pour une opération de suppression mais n'existe pas, l'implémentation DEVRAIT le créer automatiquement, sans aucun avertissement ni délai. “. Pourquoi l'erreur alors ? Bug ? -
Pourquoi dois-je changer
/etc/fstab
entrées pour les volumes montés, en ajoutant des options comme uid et guid, si les volumes sont déjà montés en tant que RW pour tout le monde ?
Ce ne sont là que quelques exemples d'écarts par rapport à la norme. Donc, la question est :
"Si Ubuntu n'adhère pas à 100 % à la spécification, COMMENT exactement la poubelle fonctionne-t-elle ? OÙ puis-je trouver une référence technique pour l'implémentation de la corbeille dans Ubuntu ?"
Au fait :si Ubuntu respecte les spécifications, veuillez me dire ce que je fais de mal, en particulier en ce qui concerne le /.Trash-<uid>
vs /.Trash/<uid>
problème.
Merci !
MODIF :
Quelques informations supplémentaires :
-
Si un fs donné n'a pas de support pour le sticky bit (VFAT, NTFS), il n'a probablement pas non plus d'autorisations (du moins VFAT n'en a sûrement pas). Alors, qu'est-ce qui empêche un utilisateur de purger
/
restaurer le./Trash-xxx
des autres utilisateurs ? Si l'on peut lire/écrire sa propre corbeille, on peut faire de même pour l'ensemble du lecteur, y compris les corbeilles des autres, n'est-ce pas ? Ou Gnome a-t-il une sorte de protection "supplémentaire" sur./Trash-xxx
dossiers sur VFAT/NTFS fs ? -
Si Linux peut "émuler" les autorisations de fichiers sur le montage NTFS en modifiant
/fstab
options uid et gid, peut-il également "émuler" le bit collant ? Je préférerais vraiment utiliser/.Trash/xxx
format… -
Pour le problème racine :pour la partition /, je peux utiliser la corbeille en tant que racine, et elle va dans
/root/.local/share/Trash
. Mais si je clique sur Nautilus "Trash" (en tant que root), j'obtiens une erreur. N'est-ce pas? Les fichiers sont donc correctement supprimés, mais je ne peux pas y accéder. Tout ce que je peux faire est de les "purger" manuellement (en supprimant les fichiers sur/root/.local/share/Trash
), mais la restauration serait très délicate (ouverture des fichiers d'informations et déplacement manuel, etc.). -
Pour les partitions non-/ (ou du moins pour VFAT/NTFS), je ne peux même pas utiliser la corbeille en tant que root :elle ne crée pas de
./Trash-0
dossier, il dit simplement "Impossible de supprimer la corbeille, voulez-vous supprimer définitivement?" Pourquoi ? -
À propos de fstab :je l'utilise pour un montage permanent de mes partitions NTFS. J'en ai plusieurs, et s'ils ne sont pas "pré-montés", ils encombrent vraiment le bureau et/ou Nautilus. Je préfère l'avoir pré-monté, intégré dans mon système de fichiers, dans des montages comme
/data
,/windows/xp
,/windows/vista
, et ainsi de suite, et laissez/media
et sa flexibilité de "montage/démontage" uniquement pour les disques véritablement amovibles.
Donc, si Ubuntu/Gnome suit vraiment la spécification, existe-t-il un moyen de résoudre les problèmes de racine et d'"émuler" le bit collant pour (au moins) mes partitions fixes NTFS fstab'ed ?
Réponse acceptée :
GNOME utilise .Trash correctement pour autant que je sache - si vous regardez dans la source gio/glocalfile.c, vous verrez qu'il tente d'utiliser le répertoire .Trash s'il existe. Notez cependant que le répertoire doit disposer des autorisations appropriées pour que les utilisateurs puissent y stocker en toute sécurité des fichiers de corbeille (et en toute sécurité ici, je veux dire que les autres utilisateurs ne pourront pas récupérer les fichiers de la corbeille de l'utilisateur). Pour cela, GNOME exige que le répertoire .Trash ait le sticky bit défini dessus - voir Répertoires de la corbeille, note (1) dans la spécification de la corbeille de FreeDesktop.Org.
Le principal problème avec l'approche ci-dessus est que la plupart des supports amovibles r/w que vous trouvez sont FAT, qui ne prend pas en charge le sticky bit, donc la seule façon de gérer cela en toute sécurité est d'utiliser un répertoire de corbeille par utilisateur.
Concernant la corbeille racine - je ne peux pas reproduire le problème que vous décrivez, cela semble bien fonctionner pour moi.
En ce qui concerne /etc/fstab - je ne sais pas quel est le problème ici :vous devriez avoir besoin de jouer avec fstab, à moins que vous ne vouliez un contrôle total sur l'endroit où un système de fichiers externe est monté. Normalement, le support amovible est monté automatiquement lors de la détection dans /media pour l'utilisateur actuellement actif, mais il est alors inaccessible à tout autre utilisateur. Si vous voulez une configuration différente, vous devriez jouer avec le fichier de configuration. Je ne vois pas le rapport avec les déchets, cependant.