Posizione della directory principale della root in macOS

0

Tutti i sistemi operativi di tipo Unix che ho visto utilizzano /root come directory home per l'account root . Qual è la ragione per cui è stato spostato su /var/root in macOS? Posso cambiare il solito /root ?
Ho bisogno di eseguire alcuni script su macOS che hardcode /root come directory principale della root. Inoltre, pensavo che /var fosse per dati variabili (spool, file di registro, ecc.).

    
posta Eugene Yarmash 17.10.2018 - 17:10
fonte

2 risposte

1

Penso che il problema sia che non hai davvero visto molti sistemi operativi simili a Unix. Tradizionalmente con i sistemi operativi di tipo Unix, avresti effettivamente la directory home dell'utente root su / .

Se hai lavorato con Linux o forse con FreeBSD, ti aspetteresti che la home directory dell'utente root sia a /root - ma in realtà non è "data da Dio".

Ci sono molti esempi di sistemi operativi simili a Unix che usano luoghi diversi. Ad esempio, sui sistemi HP-UX non batteresti un occhio per trovare la directory home su /homeroot . Allo stesso modo su macOS è a /var/root .

Per quanto riguarda la tua ipotesi sull'uso della cartella /var : Tradizionalmente non c'è stato alcun tipo di duro consenso su ciò per cui ciascuna delle tradizionali cartelle di sistema è usata (per esempio / etc, / usr, / usr / local, / lib, / etc.). Questo potrebbe variare dal sistema operativo al sistema operativo.

Di solito diresti che la cartella /var è per dati variabili, tuttavia ciò non significa che sia limitata ai file di spool o di log, come se scrivessi tu. Ciò significa che il contenuto della cartella potrebbe cambiare durante l'utilizzo del sistema, a differenza, ad esempio, di bin, dove tradizionalmente si può presumere che questa cartella possa essere semplicemente reinstallata dal supporto di installazione originale. In questo senso le cartelle home dell'utente root si adattano alla descrizione. Di solito non lo vuoi in /home o /Users in quanto potrebbe essere un file system in rete e tradizionalmente volevi che l'utente root fosse sempre in grado di accedere per il ripristino del sistema.

Su macOS puoi cambiare la posizione della home directory dell'utente root. Ai fini del ripristino, modifica la posizione in /etc/passwd . Per l'uso normale, cambialo in Open Directory.

Puoi vedere le impostazioni correnti con:

dscl . -read Users/root | grep NFSHomeDirectory

E modificali con:

dscl . -change Users/root NFSHomeDirectory <old> <new>

dove e vengono sostituiti con i percorsi pertinenti.

    
risposta data 17.10.2018 - 20:35
fonte
1

Una soluzione semplice userebbe l'espansione tilde negli script invece di una posizione codificata.

Esempio:

ls -ld ~root
    
risposta data 18.10.2018 - 13:10
fonte

Leggi altre domande sui tag