Inloggen wordt gebruikt bij het aanmelden op een systeem. Het kan ook worden gebruikt om op elk moment van de ene gebruiker naar de andere over te schakelen (de meeste moderne shells hebben echter ondersteuning voor deze functie ingebouwd). Als er geen argument wordt gegeven, Log in vraagt om de gebruikersnaam. Als de gebruiker geen root is, en als /etc/nologin bestaat, wordt de inhoud van dit bestand op het scherm afgedrukt en wordt de aanmelding beëindigd. Dit wordt meestal gebruikt om aanmeldingen te voorkomen wanneer het systeem wordt verwijderd. Als er speciale toegangsbeperkingen zijn gespecificeerd voor de gebruiker in /etc/usertty, moet hieraan worden voldaan, anders wordt de inlogpoging geweigerd en wordt een syslog-bericht gegenereerd. Als de gebruiker root is, dan moet de login plaatsvinden op a tty opgenomen in /etc/securetty. Storingen worden geregistreerd met de syslog-faciliteit. Nadat deze voorwaarden zijn gecontroleerd, wordt het wachtwoord gevraagd en gecontroleerd (indien voor deze gebruikersnaam een wachtwoord vereist is). Tien pogingen zijn eerder toegestaan Log in sterft, maar na de eerste drie begint de reactie erg traag te worden. Inlogfouten worden gemeld via de syslog-faciliteit. Deze faciliteit wordt ook gebruikt om succesvolle root-aanmeldingen te melden. Als het bestand .hushlogin bestaat, wordt er een “stille” login uitgevoerd (dit deactiveert het controleren van mail en het afdrukken van de laatste logintijd en het bericht van de dag). Anders, als /var/log/lastlog bestaat, wordt de laatste logintijd afgedrukt (en wordt de huidige login geregistreerd). Willekeurige administratieve dingen, zoals het instellen van de UID en GID van de tty worden uitgevoerd. De omgevingsvariabele TERM blijft behouden als deze bestaat (andere omgevingsvariabelen blijven behouden als de -keuze is gebruikt). Vervolgens worden de omgevingsvariabelen HOME, PATH, SHELL, TERM, MAIL en LOGNAME ingesteld. PATH is standaard ingesteld op /usr/local/bin:/bin:/usr/bin:. voor normale gebruikers, en om /sbin:/bin:/usr/sbin:/usr/bin voor wortel. Als laatste, als dit geen “stille” login is, wordt het bericht van de dag afgedrukt en het bestand met de gebruikersnaam in /var/spool/mail wordt gecontroleerd en er wordt een bericht afgedrukt als de lengte niet nul is. De shell van de gebruiker wordt dan gestart. Als er geen shell is opgegeven voor de gebruiker in /etc/passwd, dan /bin/sh is gebruikt. Als er geen map is opgegeven in /etc/passwd, dan: / wordt gebruikt (de homedirectory wordt gecontroleerd op de .hushlogin hierboven beschreven bestand).
Inloggen gebruiken
De technische details zijn geweldig voor ontwikkelaars en systeembeheerders, maar dat geeft geen antwoord op hoe een gewone gebruiker de login-opdracht zou gebruiken. Gelukkig is het antwoord op die vraag vrij eenvoudig; je zou niet. Als u inlogt op een Linux-computer zonder een grafisch bureaublad, gebruikt het systeem automatisch de login-opdracht om u een prompt te geven om u aan te melden. U kunt de opdracht zelf proberen door deze uit te voeren met ‘sudo’. sudo login
U krijgt dezelfde aanmeldingsprompt als bij toegang tot een opdrachtregelsysteem.
Dat gezegd hebbende, het is echt niet praktisch. Als u zich als een andere gebruiker wilt aanmelden, gebruikt u het ‘su’-commando, zoals dit: su gebruikersnaam
Van daaruit zou u het wachtwoord van die gebruiker opgeven. Als je dieper in de login-opdracht wilt graven, lees dan verder voor een overzicht van de opties.
Opties
- -P — Gebruikt door getty(8) om te vertellen Log in niet om het milieu te vernietigen
- -F — Wordt gebruikt om een tweede login-authenticatie over te slaan. Dit werkt specifiek niet voor root en lijkt niet goed te werken onder Linux.
- -H — Gebruikt door andere servers (bijv. telnetd(8)) om de naam van de externe host door te geven aan Log in zodat het in utmp en wtmp kan worden geplaatst. Alleen de superuser mag deze optie gebruiken.
Speciale toegangsbeperkingen
Het bestand /etc/securetty vermeldt de namen van de ttys waar root mag inloggen. Eén naam van een tty-apparaat zonder het /dev/-voorvoegsel moet op elke regel worden opgegeven. Als het bestand niet bestaat, mag root inloggen op elke tty. Op de meeste moderne Linux-systemen wordt PAM (Pluggable Authentication Modules) gebruikt. Op systemen die geen PAM gebruiken, specificeert het bestand /etc/usertty aanvullende toegangsbeperkingen voor specifieke gebruikers. Als dit bestand niet bestaat, worden er geen aanvullende toegangsbeperkingen opgelegd. Het dossier bestaat uit een reeks secties. Er zijn drie mogelijke sectietypes: KLASSEN, GROEPEN en GEBRUIKERS. Een sectie KLASSEN definieert klassen van tty’s en hostnaampatronen, een sectie GROEPEN definieert toegestane tty’s en hosts per groep en een sectie GEBRUIKERS definieert toegestane tty’s en hosts per gebruiker. Elke regel in dit bestand mag niet langer zijn dan 255 tekens. Opmerkingen beginnen met het #-teken en lopen door tot aan het einde van de regel.
De sectie KLASSEN
Een sectie CLASSES begint met het woord CLASSES aan het begin van een regel in hoofdletters. Elke volgende regel tot het begin van een nieuwe sectie of het einde van het bestand bestaat uit een reeks woorden gescheiden door tabs of spaties. Elke regel definieert een klasse van tty’s en hostpatronen. Het woord aan het begin van een regel wordt gedefinieerd als een verzamelnaam voor de ttys- en hostpatronen die aan de rest van de regel worden gespecificeerd. Deze verzamelnaam kan gebruikt worden in elk volgend GROEPEN- of GEBRUIKERS-gedeelte. Een dergelijke klassenaam mag niet voorkomen als onderdeel van de definitie van een klasse om problemen met recursieve klassen te voorkomen. Een voorbeeld van de sectie KLASSEN: KLASSEN
mijnklasse1 tty1 tty2
myclass2 tty3 @.foo.com
Dit definieert de klassen mijnklasse1 en mijnklasse2 als de corresponderende rechterkant.
De sectie GROEPEN
Een sectie GROEPEN definieert toegestane tty’s en hosts per Unix-groep. Als een gebruiker lid is van een Unix-groep volgens /etc/passwd en /etc/group en een dergelijke groep wordt genoemd in een GROEPEN-sectie in /etc/usertty, dan krijgt de gebruiker toegang als de groep dat is. Een sectie GROEPEN begint met het woord GROEPEN in hoofdletters aan het begin van een regel, en elke volgende regel is een reeks woorden gescheiden door spaties of tabs. Het eerste woord op een regel is de naam van de groep en de rest van de woorden op de regel specificeert de tty’s en hosts waartoe leden van die groep toegang hebben. Deze specificaties kunnen het gebruik van klassen inhouden die zijn gedefinieerd in eerdere secties van KLASSEN. Een voorbeeld van een GROEPEN-sectie. GROEPEN
sys tty1 @.bar.edu
stud myclass1 tty4
Dit voorbeeld geeft aan dat leden van group sys kan inloggen op tty1 en van hosts in het bar.edu-domein. Gebruikers in groep dekhengst kan inloggen vanaf hosts/ttys gespecificeerd in de klasse myclass1 of vanaf tty4.
De sectie GEBRUIKERS
Een sectie GEBRUIKERS begint met het woord GEBRUIKERS in hoofdletters aan het begin van een regel, en elke volgende regel is een reeks woorden gescheiden door spaties of tabs. Het eerste woord op een regel is een gebruikersnaam en die gebruiker mag inloggen op de ttys en van de hosts die op de rest van de regel worden vermeld. Deze specificaties kunnen klassen omvatten die in eerdere secties van KLASSEN zijn gedefinieerd. Als er geen sectiekop boven aan het bestand is opgegeven, is de eerste sectie standaard een sectie GEBRUIKERS. Een voorbeeld van de sectie GEBRUIKERS: GEBRUIKERS
zacho tty1 @130.225.16.0/255.255.255.0
blauw tty3 mijnklasse2
Hierdoor kan de gebruiker zacho log alleen in op tty1 en van hosts met IP-adressen in het bereik 130.225.16.0 – 130.225.16.255en gebruiker and blauw is toegestaan om in te loggen vanaf tty3 en wat dan ook is gespecificeerd in de klasse mijnklasse2. Er kan een regel in een GEBRUIKERS-sectie zijn die begint met een gebruikersnaam van *. Dit is een standaardregel en wordt toegepast op elke gebruiker die niet overeenkomt met een andere regel. Als zowel een USERS-lijn als een GROUPS-lijn overeenkomen met een gebruiker, dan krijgt de gebruiker toegang vanuit de unie van alle ttys/hosts die in deze specificaties worden genoemd.
Oorsprong
De tty- en hostpatroonspecificaties die worden gebruikt bij de specificatie van klassen, groeps- en gebruikerstoegang worden oorsprongen genoemd. Een oorsprongstring kan een van deze formaten hebben:
- De naam van een tty-apparaat zonder het voorvoegsel /dev/, bijvoorbeeld tty1 of ttyS0.
- De string @localhost, wat betekent dat de gebruiker mag telnet/rlogin vanaf de lokale host naar dezelfde host. Dit stelt de gebruiker ook in staat om bijvoorbeeld het commando uit te voeren: xterm -e /bin/login.
- Een achtervoegsel voor een domeinnaam, zoals @.some.dom, wat betekent dat de gebruiker kan inloggen/telnet vanaf elke host waarvan de domeinnaam het achtervoegsel .some.dom heeft.
- Een reeks IPv4-adressen, geschreven @xxxx/yyyy waarbij xxxx het IP-adres is in de gebruikelijke gestippelde viervoudige decimale notatie, en yyyy een bitmasker is in dezelfde notatie die aangeeft welke bits in het adres moeten worden vergeleken met het IP-adres van de externe host . Bijvoorbeeld, @130.225.16.0/255.255.254.0 betekent dat de gebruiker kan inloggen/telnet vanaf elke host waarvan het IP-adres binnen het bereik ligt 130.225.16.0 – 130.225.17.255.
Elk van de bovenstaande oorsprongen kan worden voorafgegaan door een tijdspecificatie volgens de syntaxis: timespec ::= ‘[‘ [‘:’ ]* ‘]’
dag ::= ‘ma’ | ‘di’ | ’trouwen’ | ‘do’ | ‘vrij’ | ‘zat’ | ‘zon’
uur ::= ‘0’ | ‘1’ | … | ’23’
uurspec ::= | ‘-‘
dag-of-uur ::= |
Bijvoorbeeld de oorsprong [mon:tue:wed:thu:fri:8-17]tty3 betekent dat inloggen van maandag tot en met vrijdag tussen 8 en 17:59 (17:59) op tty3 is toegestaan. Hieruit blijkt ook dat een uurbereik ab alle momenten tussen a:00 en b:59 omvat. Een specificatie van één uur (zoals 10) betekent de tijdspanne tussen 10 en 10:59. Het niet specificeren van een tijdprefix voor een tty of host betekent dat inloggen vanaf die oorsprong op elk moment is toegestaan. Als u een tijdvoorvoegsel opgeeft, zorg er dan voor dat u zowel een reeks dagen als een of meer uren of uurbereiken opgeeft. Een tijdspecificatie mag geen witruimte bevatten. Als er geen standaardregel is gegeven, mogen gebruikers die niet overeenkomen met een regel /etc/usertty overal inloggen, zoals standaardgedrag is. Gebruik de Mens commando (% Mens) om te zien hoe een opdracht op uw specifieke computer wordt gebruikt.