1Jul

Waarom hebben sommige systeemgebruikers /usr/bin/ fout als hun shell?

click fraud protection

Als je eenmaal begint te graven in een Linux-systeem, zul je misschien wat verwarrende of onverwachte dingen tegenkomen, zoals bijvoorbeeld /usr/bin/ false. Waarom is het daar en wat is het doel ervan? Today's SuperUser Q & A post heeft het antwoord op de vragen van een nieuwsgierige lezer.

De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

De vraag

SuperUser-lezer user7326333 wil weten waarom sommige systeemgebruikers /usr/bin/ false hebben als shell:

Waarom hebben sommige systeemgebruikers /usr/bin/ false als hun shell? Wat betekent dat?

Waarom hebben sommige systeemgebruikers /usr/bin/ false als hun shell?

Het antwoord

SuperUser-bijdragers duDE, Toby Speight en bbaassssiiee hebben het antwoord voor ons. Allereerst, duDE:

Dit helpt voorkomen dat gebruikers inloggen op een systeem. Soms hebt u een gebruikersaccount voor een specifieke taak nodig. Desondanks moet niemand op de computer met dit account kunnen communiceren. Dit zijn aan de ene kant systeemgebruikersaccounts. Aan de andere kant is dit een account waarvoor FTP- of POP3-toegang mogelijk is, maar gewoon geen directe shell-login.

instagram viewer

Als u het /etc/ passwd-bestand van naderbij bekijkt, zult u de /bin/-valse opdracht vinden als inlogshell voor veel systeemaccounts. Feitelijk is false geen shell, maar een opdracht die niets doet en vervolgens ook eindigt met een statuscode die een fout meldt. Het resultaat is eenvoudig. De gebruiker meldt zich aan en ziet onmiddellijk de aanmeldingsprompt.

Gevolgd door het antwoord van Toby Speight:

Deze gebruikers zijn de eigenaar van specifieke bestanden of processen en zijn niet bedoeld als inlogaccounts. Als de waarde van het "shell" -veld niet wordt vermeld in /etc/-shells, staan ​​programma's zoals FTP-daemons geen toegang toe. Bovendien gebruiken ze voor programma's die /etc/-shells niet controleren het feit dat /bin/ false onmiddellijk zal terugkeren en een interactieve shell weigeren.

En ons laatste antwoord van bbaassssiiee:

Sommige gebruikers hebben /usr/bin/ false, anderen hebben /sbin/-nologine of ze kunnen zelfs /usr/bin/ passwd hebben. Dit kunnen systeemgebruikers zijn die nodig zijn om programmabeperkingen of menselijke gebruikers van programma's te isoleren die de wachtwoordbestanden gebruiken voor authenticatie.

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.

Image Credit: OpenStack Docs( OpenStack Project)