GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak může odpadkový koš fungovat a kde k němu najdu oficiální dokumentaci, reference nebo specifikace?

Když jsem se pokoušel spravovat odpadkový koš z připojených svazků NTFS, nakonec jsem si přečetl odkaz na FreeDesktop.org o něm.

Když jsem se probíral a dělal nějaké testy, uvědomil jsem si, že Ubuntu/Gnome nesplňuje specifikace na 100%. Zde je důvod:

  • U ne-/ oddílů to vždy používá <driveroot>/.Trash-<uid> , nikdy použit <driveroot>/.Trash/<uid> , i když jsem to vytvořil předem. I když to funguje, je to nepříjemné:když mám 15 uživatelů, skončím s 15 /.Trash-xxx složky na mém disku, zatímco druhý přístup by stále poskytoval jedinou složku (s 15 podsložkami). To „znečištění“ v mých pohonech je velmi nepříjemné. A specifikace říkají „Pokud je $topdir/.Trash chybí adresář, $topdir/.Trash-$uid je třeba použít adresář “. No, je přítomen, tak proč ho nikdy nepoužívá?

  • kořenový koš ne práce, alespoň ne z krabice. Otevřete nautilus jako root a klikněte na koš; dává chybu. Zkuste smazat jakýkoli soubor, píše se „nelze přesunout do koše“. Dobře, vím, že to lze opravit vytvořením /root/.local/share . Specifikace však říká, že „Pro každého nového uživatele BY MĚL být automaticky vytvořen adresář „home trash“. Pokud je tento adresář potřebný pro operaci koše, ale neexistuje, MĚLA by ho implementace automaticky vytvořit, bez varování nebo zpoždění. “. Proč tedy chyba? Chyba?

  • Proč musím změnit /etc/fstab položky pro připojené svazky, přidání možností jako uid a guid, pokud jsou svazky již připojeny jako RW pro všechny?

To jsou jen některé příklady odchylek od normy. Otázka tedy zní:

„Pokud Ubuntu nedodržuje 100 % specifikace, JAK přesně funguje odpadkový koš? KDE najdu technickou referenci pro implementaci koše v Ubuntu?“

Mimochodem:pokud Ubuntu náhodou dodržuje specifikace, řekněte mi prosím, co dělám špatně, zejména pokud jde o /.Trash-<uid> vs /.Trash/<uid> problém.

Díky!

UPRAVIT:

Nějaké další informace:

  • Pokud daný fs nemá podporu pro lepivý bit (VFAT, NTFS), pravděpodobně nemá ani oprávnění (alespoň VFAT určitě ne). Co tedy brání jednomu uživateli vymazat / obnovení ./Trash-xxx ostatních uživatelů ? Pokud člověk může číst/zapisovat svůj vlastní koš, může totéž udělat pro celý disk, včetně koše ostatních, že? Nebo má Gnome nějakou „extra“ ochranu na ./Trash-xxx složky na VFAT/NTFS fs?

  • Pokud Linux dokáže „emulovat“ oprávnění k souborům při připojování NTFS úpravou /fstab možnosti uid a gid, může také „emulovat“ lepivý bit? Opravdu bych raději použil /.Trash/xxx formát…

  • Problém s kořenem:pro oddíl / mohu jako root použít koš a přejde do /root/.local/share/Trash . Ale pokud kliknu na Nautilus „Trash“ (jako root), zobrazí se chyba. ne? Takže soubory jsou správně vyhozeny do koše, ale nemám k nim přístup. Jediné, co mohu udělat, je ručně je „vyčistit“ (smazáním souborů na /root/.local/share/Trash ), ale obnovení by bylo velmi složité (otevření informačních souborů a ruční přesun atd.).

  • Pro non-/ oddíly (nebo alespoň pro VFAT/NTFS) nemohu ani použít koš jako root:nevytváří ./Trash-0 složka, jednoduše to říká "Nelze koš, chcete trvale smazat?" Proč?

  • O fstab:Používám jej pro trvalé připojení pro své oddíly NTFS. Mám jich několik, a pokud nejsou „předmontované“, opravdu zaplňují plochu a/nebo Nautilus. Raději bych to měl předem připojené, integrované v mém systému souborů, v připojeních jako /data , /windows/xp , /windows/vista a tak dále a ponechte /media a jeho flexibilita „připojování/odpojování“ pouze pro skutečně vyměnitelné disky.

Související:Jak vybrat způsob, jak povolit/zakázat, spustit/zastavit nebo zkontrolovat stav služby?

Pokud tedy Ubuntu/Gnome skutečně dodržuje specifikaci, existuje nějaký způsob, jak opravit kořenové problémy a „emulovat“ lepivý bit pro (alespoň) mé pevné oddíly NTFS pomocí fstab’ed?

Přijatá odpověď:

GNOME používá .Trash správně – pokud se podíváte do zdrojového kódu gio/glocalfile.c, uvidíte, že se pokouší použít adresář .Trash, pokud existuje. Pamatujte však, že adresář musí mít správná oprávnění, aby v něm uživatelé mohli bezpečně ukládat soubory koše (a zde bezpečně myslím, že ostatní uživatelé nebudou moci obnovit soubory koše uživatele). K tomu GNOME vyžaduje, aby v adresáři .Trash byl nastaven sticky bit – viz Trash Directories, poznámka (1) ve specifikaci koše FreeDesktop.Org.

Hlavním problémem výše uvedeného přístupu je, že většina vyměnitelných médií, která najdete, je FAT, který nepodporuje lepivý bit, takže jediný způsob, jak to bezpečně zvládnout, je použít adresář koše pro uživatele.

Pokud jde o kořenový koš – nemohu reprodukovat problém, který popisujete, zdá se, že mi funguje dobře.

Pokud jde o /etc/fstab – nejsem si jistý, v čem je problém:měli byste si s fstab pohrát, pokud nechcete mít plnou kontrolu nad tím, kam je připojen externí souborový systém. Normálně vyměnitelné médium je připojeno automaticky po zjištění v /media pro aktuálně aktivního uživatele, ale pak je nepřístupné žádnému jinému uživateli. Pokud chcete jiné nastavení, měli byste si pohrát s konfiguračním souborem. Nechápu však, jak to souvisí s odpadky.


Ubuntu
  1. Jak Sticky Bit funguje?

  2. Jak deaktivovat klíčenku pro Ssh a Gpg?

  3. Kde najdu oficiální virtuální krabici pro Ubuntu 13.10?

  1. Kde mohu zjistit, kdy bude vydána další verze jádra pro verzi Distro?

  2. Kde mohu najít a nainstalovat závislosti pro pygame?

  3. Jak zjistím celkový počet TCP spojení pro daný port a časové období podle IP?

  1. Co je Makefile a jak funguje?

  2. Jak funguje příkaz ps?

  3. Kde najdu podrobnosti o LaTeXu a jeho instalační příručce?