Quando ho provato a gestire il cestino dai volumi NTFS montati, ho finito per leggere il riferimento di FreeDesktop.org su di esso.
Girovagando e facendo alcuni test, mi sono reso conto che Ubuntu/Gnome non segue le specifiche al 100%. Ecco perché:
-
Per partizioni non/, sempre utilizza
<driveroot>/.Trash-<uid>
, mai usato<driveroot>/.Trash/<uid>
, anche quando l'ho creato in anticipo. Mentre funziona, è fastidioso:se ho 15 utenti, finisco con 15/.Trash-xxx
cartelle nel mio disco, mentre l'altro approccio darebbe comunque una singola cartella (con 15 sottocartelle). Quell'"inquinamento" nelle mie unità è molto spiacevole. E le specifiche dicono "If an$topdir/.Trash
la directory è assente, un$topdir/.Trash-$uid
deve essere utilizzata “. Bene, è presente, quindi perché non lo usa mai? -
il cestino principale non lavoro, almeno non fuori dagli schemi. Apri nautilus come root e fai clic sul cestino; dà un errore. Prova a eliminare qualsiasi file, dice "non può essere spostato nel cestino". Ok, so che questo può essere risolto creando
/root/.local/share
. Ma le specifiche dicono "Una directory "home trash" DOVREBBE essere creata automaticamente per ogni nuovo utente. Se questa directory è necessaria per un'operazione di cestino ma non esiste, l'implementazione DOVREBBE crearla automaticamente, senza alcun avviso o ritardo. “. Perché allora l'errore? Bug? -
Perché devo cambiare
/etc/fstab
voci per i volumi montati, aggiungendo opzioni come uid e guid, se i volumi sono già montati come RW per tutti?
Questi sono solo alcuni esempi di deviazione dallo standard. Quindi, la domanda è:
"Se Ubuntu non aderisce al 100% alle specifiche, COME esattamente la spazzatura funziona? DOVE posso trovare un riferimento tecnico per l'implementazione del cestino da parte di Ubuntu?"
A proposito:se Ubuntu segue le specifiche, per favore dimmi cosa sto sbagliando, specialmente per quanto riguarda il /.Trash-<uid>
vs /.Trash/<uid>
problema.
Grazie!
MODIFICA:
Qualche informazione in più:
-
Se un dato fs non ha supporto per lo sticky bit (VFAT, NTFS), probabilmente non ha nemmeno i permessi (almeno VFAT sicuramente no). Quindi cosa impedisce a un utente di eliminare
/
ripristino del./Trash-xxx
di altri utenti ? Se si può leggere/scrivere il proprio Cestino, si può fare lo stesso per l'intero disco, compresi i rifiuti degli altri, giusto? Oppure Gnome ha una sorta di protezione "extra" su./Trash-xxx
cartelle su VFAT/NTFS fs? -
Se Linux può "emulare" i permessi dei file sul montaggio NTFS modificando
/fstab
opzioni uid e gid, può anche "emulare" il bit appiccicoso? Preferirei davvero usare/.Trash/xxx
formato... -
Per il problema principale:per la partizione /, posso usare il cestino come root e va su
/root/.local/share/Trash
. Ma se clicco su Nautilus "Trash" (come root), ottengo un errore. tu no? Quindi i file vengono correttamente cestinati, ma non posso accedervi. Tutto quello che posso fare è "eliminarli" manualmente (eliminando i file su/root/.local/share/Trash
), ma il ripristino sarebbe molto complicato (apertura di file di informazioni e spostamento manuale, ecc.). -
Per le partizioni non/ (o almeno per VFAT/NTFS), non posso nemmeno usare trash come root:non crea un
./Trash-0
cartella, dice semplicemente "Non puoi cestinare, vuoi eliminare definitivamente?" Perché? -
Informazioni su fstab:lo uso per un montaggio permanente per le mie partizioni NTFS. Ne ho diversi, e se non "premontati" ingombrano davvero il desktop e/o il Nautilus. Preferirei averlo premontato, integrato nel mio file system, in mount come
/data
,/windows/xp
,/windows/vista
, e così via, e lascia/media
e la sua flessibilità di "montaggio/smontaggio" solo per unità veramente rimovibili.
Quindi, se Ubuntu/Gnome segue veramente le specifiche, c'è un modo per risolvere i problemi di root e per "emulare" il bit appiccicoso per (almeno) le mie partizioni fisse NTFS con fstab?
Risposta accettata:
GNOME sta usando .Trash correttamente per quanto ho capito:se guardi nella fonte gio/glocalfile.c vedresti che tenta di utilizzare la directory .Trash se esiste. Si noti tuttavia che la directory deve disporre delle autorizzazioni corrette affinché gli utenti possano archiviare in modo sicuro i file di cestino (e in modo sicuro qui, intendo che altri utenti non saranno in grado di recuperare i file eliminati dell'utente). Per questo GNOME richiede che la directory .Trash abbia lo sticky bit impostato su di essa – vedere Directory dei rifiuti, nota (1) nella specifica Trash di FreeDesktop.Org.
Il problema principale con l'approccio di cui sopra è che la maggior parte dei supporti rimovibili r/w che trovi è FAT, che non supporta il bit appiccicoso, quindi l'unico modo per gestirlo in sicurezza è utilizzare una directory cestino per utente.
Per quanto riguarda il cestino principale, non riesco a riprodurre il problema che descrivi, sembra funzionare bene per me.
Per quanto riguarda /etc/fstab, non sono sicuro di quale sia il problema:dovresti aver bisogno di fare confusione con fstab, a meno che tu non voglia il pieno controllo su dove è montato un file system esterno. Normalmente il supporto rimovibile viene montato automaticamente al rilevamento in /media per l'utente attualmente attivo, ma è quindi inaccessibile a qualsiasi altro utente. Se vuoi una configurazione diversa, dovresti pasticciare con il file di configurazione. Tuttavia, non vedo come questo si riferisca alla spazzatura.