Una volta che inizi a scavare in un sistema Linux, potresti trovare alcune cose confuse o inaspettate, come / usr / bin / false, per esempio. Perché è lì e qual è il suo scopo? Il post di domande e risposte di SuperUser di oggi contiene la risposta alle domande di un lettore curioso.
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.
La domanda
Il lettore SuperUser user7326333 vuole sapere perché alcuni utenti di sistema hanno / usr / bin / false come shell:
Perché alcuni utenti di sistema hanno / usr / bin / false come shell? Cosa significa?
Perché alcuni utenti di sistema hanno / usr / bin / false come shell?
La risposta
I collaboratori di SuperUser duDE, Toby Speight e bbaassssiiee hanno la risposta per noi. Per prima cosa, duDE:
Questo aiuta a impedire agli utenti di accedere a un sistema. A volte è necessario un account utente per un'attività specifica. Tuttavia, nessuno dovrebbe essere in grado di interagire con questo account sul computer. Questi sono, da un lato, account utente di sistema. D'altra parte, questo è un account per il quale è possibile l'accesso FTP o POP3, ma solo nessun accesso diretto alla shell.
Se guardi più da vicino il file / etc / passwd, troverai il comando / bin / false come shell di login per molti account di sistema. In realtà, false non è una shell, ma un comando che non fa nulla e poi termina anche con un codice di stato che segnala un errore. Il risultato è semplice. L'utente accede e vede di nuovo immediatamente la richiesta di accesso.
Seguito dalla risposta di Toby Speight:
Questi utenti esistono per essere i proprietari di file o processi specifici e non sono intesi come account di accesso. Se il valore del campo "shell" non è elencato in / etc / shells, i programmi come i demoni FTP non consentono l'accesso. Inoltre, per i programmi che non controllano / etc / shells, fanno uso del fatto che / bin / false tornerà immediatamente e negherà una shell interattiva.
E la nostra risposta finale da bbaassssiiee:
Alcuni utenti hanno / usr / bin / false, altri hanno / sbin / nologin o possono anche avere / usr / bin / passwd. Possono essere utenti di sistema necessari per isolare le autorizzazioni del programma o utenti umani di programmi che utilizzano i file delle password per l'autenticazione.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .
Credito immagine: Documenti OpenStack (progetto OpenStack)