Panoramica di NSSwitch.Conf

Panoramica di NSSwitch.Conf
L'introduzione dei servizi di informazione di rete (NIS) e del sistema di nomi di dominio (DNS) ha reso più oscuro cercare i dettagli delle informazioni sull'utente e sul sistema. Ora, non è così semplice guardare dentro il file locale.

Prima, per controllare le informazioni dell'utente, dobbiamo fare riferimento a /etc/passwd E dobbiamo guardare nel /etc/host Per informazioni sull'indirizzo di sistema. Ora, ci sono vari modi per trovare questo tipo di informazioni. È possibile impostare quali servizi devono essere utilizzati per cercare cose come nomi host, file di password e file di gruppo utilizzando il /etc/nsswitch.conf file.

Con il /etc/nsswitch.conf (Nome Service Switch Configuration) File, possiamo specificare i modi e il loro ordine di utilizzarli quando troviamo un tipo specifico di informazioni. Possiamo indicare l'azione su cui il sistema intraprende se un metodo ha esito positivo o senza successo.

Di cosa parleremo?

In questo articolo, tratteremo una panoramica di NSSwitch.File Conf sul sistema operativo Linux. Iniziamo ora.

Nsswitch.FORMATO DI FILE Conf

Nel nsswitch.Conf File, ogni riga definisce come cercare un pezzo di informazione. Il formato di una linea in NSSwitch.conf sembra questo:

Info: Method [[Action]] [Method [[Action]]…]

Laddove "Informazioni" si riferisce alle informazioni descritte dalla linea, "Metodo" si riferisce alla tecnica utilizzata per ottenere tali informazioni e "Azione" si riferisce alla risposta allo stato di ritorno del metodo precedente. L'azione è circondata da parentesi quadrate.

All'interno del NSWITCH.Conf File

Ora esaminiamo questo file. Il file sembra questo:

# /etc /nsswitch.conf
#
# Nome File di configurazione dell'interruttore del servizio.
#
passwd: file db
Shadow: file
Gruppo: file DB
Host: file DNS
reti: file
ETHETER: file DB
Protocolli: file DB
RPC: file DB
Servizi: file DB

Come probabilmente immagineresti guardando la tabella fornita, il database è elencato nella prima colonna. Il resto di questa linea indica come viene eseguita la ricerca. Inoltre, si noti che devi mostrare il modo di funzionare individualmente per ciascun database. Ciò non può essere realizzato usando il metodo convenzionale di un'implementazione monolitica. La definizione di configurazione di ogni database può avere due campi distinti: la specifica di servizio come file, db o NIS e la risposta alla ricerca dei risultati come [NOTFOUND = return].

Opzioni disponibili con NSSwitch.Conf File

Le opzioni in questo file devono risiedere su righe diverse. Sono disponibili le seguenti opzioni:

  1. DNS: in questo caso, il servizio DNS viene utilizzato per risolvere l'indirizzo. Questo è utile per risolvere gli indirizzi host ma non per la risoluzione degli indirizzi di rete.
  2. File: utilizza i file classici /etc /host e /etc /di rete. Cerca un file locale per il nome dell'host o della rete e il rispettivo indirizzo.
  3. NIS o NIS+: per risolvere l'indirizzo host o di rete, utilizza il sistema di informazioni di rete (NIS).

L'ordinamento dei database di origine controlla l'ordine in cui l'NSS cerca di cercare tali fonti per risolvere le domande per il servizio di destinazione.

Azioni nella configurazione NSS

L'elemento di specifica successiva consente all'utente con un controllo molto maggiore sul comportamento di ricerca. Gli articoli di azione sono messi tra le specifiche del servizio e sono circondati da parentesi quadrate. In generale, l'istruzione Azione ha la seguente sintassi:

[[[!] status = azione…]

Abbattiamo questa sintassi:

  1. Il parametro di azione ha due possibili azioni:
    1. Ritorno: il programma che cerca la risoluzione dei nomi riprende il controllo. Nel caso in cui un tentativo di ricerca non sia fallito, il resolver restituisce zero; Altrimenti, ritorna con i dettagli.
    2. Continua: il resolver va al servizio successivo nell'elenco per provare per la risoluzione utilizzando questo servizio.
    3. Unisci: significa continuare con il processo di ricerca mantenendo i risultati recenti. Questa azione è utilizzabile solo quando lo stato è "successo".
  2. IL (!) il carattere è facoltativo e sostanzialmente significa no. IL (!) Il carattere è un'operazione di inversione utilizzata in molti linguaggi di programmazione.
  3. Il parametro di stato: il valore di stato viene confrontato con l'output della funzione di ricerca che le specifiche di servizio precedenti chiama. Il valore di stato può essere:
    1. successo: La voce richiesta è ottenuta senza difficoltà. L'azione predefinita è "return".
    2. non trovato: La ricerca ha successo. Tuttavia, l'host o la rete di destinazione non si trova. L'azione predefinita è "Continua".
    3. non disponibile: Non è stato possibile trovare il servizio richiesto. Potrebbe implicare che il file host o reti non è leggibile per il servizio file. Può anche significare che un server di nome o un server NIS non ha risposto per i servizi DNS o NIS. L'azione predefinita qui è "Continua".
    4. riprova: Questo stato indica che il servizio non è attualmente disponibile. Ciò può implicare che un file sia bloccato o che un server non sia in grado di accettare ulteriori connessioni in questo momento. L'azione predefinita qui è anche "Continua".

Un esempio di base di questo meccanismo può essere mostrato nella seguente illustrazione. Usa la dichiarazione "Azione":

Host: DNS [!FILE UNAVAIL = return]
reti: file

Questo esempio utilizza un servizio DNS per la risoluzione host. Il resolver restituisce i dati interrogati se lo stato di restituzione non è "non disponibile". Se lo stato di restituzione non è disponibile, il file locale /etc /host viene utilizzato dal resolver.

Nota importante: L'utente dovrebbe sforzarsi di migliorare il processo di ricerca. I tempi di risposta variano a seconda del servizio. Una ricerca di file di base su un file locale potrebbe essere rapida. Tuttavia, se il file è lungo e la voce richiesta è verso la fine, potrebbe richiedere molto tempo. In questo scenario, il servizio di database, che offre un rapido accesso locale ai set di big data, può essere preferibile.

Conclusione

In questo articolo, abbiamo appreso una panoramica di NSSwitch.Conf File su Linux. Anche se /etc/nsswitch.conf non esiste, l'implementazione NSS non è assolutamente indifesa. Esiste un valore predefinito per ogni database supportato. Quindi, anche se un file è danneggiato o assente, il sistema dovrebbe in genere essere in grado di funzionare.