GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come funziona il cestino e dove posso trovare documentazione ufficiale, riferimento o specifica per esso?

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.

Correlati:come scegliere in che modo abilitare/disabilitare, avviare/arrestare o controllare lo stato di un servizio?

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.


Ubuntu
  1. Dove posso scoprire quando verrà rilasciata la prossima versione del kernel per la versione Distro?

  2. Cosa fa `–frontend` in `do-release-upgrade` e dove posso trovare l'elenco dei possibili valori?

  3. Dove trovare il file di configurazione per Proftp?

  4. Dove posso trovare e installare le dipendenze per pygame?

  5. Come funziona l'interfaccia di loopback

Che cos'è Hadoop Mapreduce e come funziona

Che cos'è il DNS inverso e come funziona?

Che cos'è VDI e come funziona?

Come trovare l'indirizzo IP di un dispositivo su una rete?

Come posso trovare il numero totale di connessioni TCP per una determinata porta e periodo di tempo per IP?

Come funziona il comando ps?