Perché è / tmp un link simbolico a / private / tmp?

35

Perché /tmp un link simbolico a /private/tmp su Mac OS X? In altre parole, perché non è /tmp solo una directory normale, come su Linux o BSD? Capisco come funziona e non mi dispiace, sono solo interessato al ragionamento (storico?) Dietro di esso.

    
posta otto.poellath 02.09.2010 - 09:40
fonte

4 risposte

32

AIUI è un holdover da NextStep (su cui OS X è basato), e NextStep lo ha fatto per supportare NetBooting. L'idea era che si potesse eseguire l'avvio da un volume ospitato dalla rete (probabilmente di sola lettura e sicuramente condiviso con altri computer) e, all'inizio del processo di avvio, montare un volume locale (scrivibile) su / private; come menzionato g, questo ha permesso la modifica in runtime di / var e / tmp, così come le impostazioni per computer in / etc.

Questo non è più necessario, poiché l'attuale sistema NetBoot di Apple utilizza un'immagine del disco shadow per memorizzare le modifiche in qualsiasi punto del volume di avvio. Ma alcuni programmi / documenti / etc ora assumono i file live sotto / private, quindi sarebbe troppo difficile riportarli indietro ...

    
risposta data 03.09.2010 - 04:35
fonte
5

Mi sono sempre chiesto la stessa cosa Non riesco a trovare alcuna documentazione per supportarlo, ma in genere questo modello viene utilizzato per semplificare l'archiviazione dei file su un altro volume (ad esempio, il disco rigido). Ciò consente all'unità di essere montata (ad esempio collegata) nel file system in un unico punto. Ad esempio, quando l'unità è montata su /private e quindi le cartelle /etc , /tmp e /var si trovano tutte su quell'altra unità.

Ciò che non posso dire è perché questo sarebbe vantaggioso. Vale la pena notare, tuttavia, che queste tre cartelle contengono file "dati" come file di configurazione, temporanei, di registro, transitori e di database anziché codice eseguibile contenuto nelle cartelle /bin , /sbin e /usr .

    
risposta data 02.09.2010 - 20:53
fonte
1

Non sono sicuro del motivo storico, ma OS X ha sempre "riorganizzato" la tipica struttura Unix. /tmp non è l'unica cosa che va a /private , ha anche /etc e /var .

Forse qualcuno con più background OS X può trovare qualcosa di più ragionevole.

    
risposta data 02.09.2010 - 14:56
fonte
-1

/tmp è un lynk simbolico a /private/etc in modo da mantenere 2 file system chiaramente separati:

  • / che può essere montato in sola lettura, per proteggerlo da qualsiasi modifica accidentale o indesiderata e per proteggerla dall'essere sempre piena di file (registri e file temporanei),

  • /private che può essere montato come read-write e che contiene qualsiasi directory contenente file modificabili.

Se guardi / noterai 3 directory che sono simili link simbolici per questo stesso motivo:

cd /
ls -al | grep '> private'

Questa separazione di accesso tra filesystem in lettura-scrittura e sola lettura non è utilizzato in realtà (in MacOS X), ma tutto è a posto per raggiungere questa separazione di sicurezza.

Alcuni amministratori stanno applicando questa separazione di sicurezza definendo uno specifico /private file system con le dimensioni appropriate e le opzioni di montaggio appropriate (in particolare nosuid ).

    
risposta data 17.08.2016 - 08:30
fonte

Leggi altre domande sui tag