Skip to main content

Hoe de Linux-opdracht te gebruiken - Unix-opdracht: inloggen

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)
Anonim

Inloggen wordt gebruikt bij het aanmelden bij een systeem. Het kan ook op elk moment worden gebruikt om van de ene gebruiker naar de andere te schakelen (de meeste moderne shells hebben echter ondersteuning voor deze functie).

Als een argument niet wordt gegeven,Log in vraagt ​​om de gebruikersnaam.

Als de gebruiker geen root is en / etc / nologin bestaat, wordt de inhoud van dit bestand afgedrukt op het scherm en wordt de aanmelding beëindigd. Dit wordt meestal gebruikt om aanmeldingen te voorkomen wanneer het systeem wordt verwijderd.

Als speciale toegangsbeperkingen zijn gespecificeerd voor de gebruiker in / etc / usertty, moet hieraan worden voldaan, of moet de inlogpoging worden geweigerd en een syslog-bericht worden gegenereerd. Zie het gedeelte over "Speciale toegangsbeperkingen".

Als de gebruiker root is, moet de aanmelding plaatsvinden op een tty vermeld in / etc / securetty. Mislukkingen worden geregistreerd met de syslog-faciliteit.

Nadat deze voorwaarden zijn gecontroleerd, wordt het wachtwoord aangevraagd en gecontroleerd (als voor deze gebruikersnaam een ​​wachtwoord vereist is). Tien pogingen zijn eerder toegestaanLog in sterft, maar na de eerste drie begint het antwoord erg traag te worden. Inlogfouten worden gemeld via de syslog-faciliteit. Deze faciliteit wordt ook gebruikt om geslaagde rootaanmeldingen te melden.

Als het bestand .hushlogin bestaat, wordt er een "stille" login uitgevoerd (dit schakelt het controleren van e-mail en het afdrukken van de laatste inlogtijd en bericht van de dag uit). Anders, als / var / log / lastlog bestaat, wordt de laatste inlogtijd afgedrukt (en wordt de huidige aanmelding geregistreerd).

Willekeurige administratieve zaken, zoals het instellen van de UID en GID van de tty worden uitgevoerd. De TERM-omgevingsvariabele wordt behouden als deze bestaat (andere omgevingsvariabelen worden behouden als de-poption is gebruikt). Vervolgens worden de omgevingsvariabelen THUIS, PAD, SHELL, TERM, MAIL en LOGNAAM ingesteld. PATH standaard naar / usr / local / bin: / bin: / usr / bin: . voor normale gebruikers, en naar / sbin: / bin: / usr / sbin: / usr / bin voor root. Als laatste, als dit geen "stille" login is, wordt het bericht van de dag afgedrukt en wordt het bestand met de gebruikersnaam in / var / spool / mail gecontroleerd en een bericht afgedrukt als het niet nul is.

De shell van de gebruiker wordt vervolgens gestart. Als er geen shell is gespecificeerd voor de gebruiker in / etc / passwd, dan / bin / sh is gebruikt. Als er geen map is opgegeven in / Etc / passwd , dan / wordt gebruikt (de basismap wordt gecontroleerd op de .hushlogin bestand hierboven beschreven).

opties

  • -p: Gebruikt door getty (8) om te vertellenLog in niet om de omgeving te vernietigen
  • -f: Wordt gebruikt om een ​​tweede inlogverificatie over te slaan. Dit werkt specifiek niet voor root en lijkt niet goed te werken onder Linux.
  • -h: Gebruikt door andere servers (d.w.z. telnetd (8) ) om de naam van de externe host door te gevenLog in zodat het in utmp en wtmp kan worden geplaatst. Alleen de superuser kan deze optie gebruiken.

Speciale toegangsbeperkingen

Het bestand / etc / securetty bevat de namen van de tty's waar root zich mag aanmelden. Eén naam van een tty-apparaat zonder de / dev / prefix moet op elke regel worden opgegeven. Als het bestand niet bestaat, kan root zich aanmelden op elk 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 geen aanvullende toegangsbeperkingen opgelegd. Het bestand bestaat uit een reeks secties. Er zijn drie mogelijke sectietypen: KLASSEN, GROEPEN en GEBRUIKERS. Een klasse KLASSE definieert klassen van tty's en hostnaampatronen, een GROEPEN-sectie definieert toegestane tty's en hosts op basis van een groep en een GEBRUIKERS-sectie definieert toegestane tty's en hosts op basis van per gebruiker.

Elke regel in dit bestand mag niet langer zijn dan 255 tekens. Opmerkingen beginnen met het # -teken en strekken zich uit tot aan het einde van de regel.

De sectie KLASSEN

Een klasse KLASSEN begint met het woord KLASSEN aan het begin van een regel in hoofdletters. Elke volgende regel tot het begin van een nieuw gedeelte 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 tty's en hostpatronen die zijn opgegeven aan de rest van de regel. Deze verzamelnaam kan worden gebruikt in alle volgende groepen GROEPEN of GEBRUIKERS. Een dergelijke klassenaam mag niet voorkomen als onderdeel van de definitie van een klasse om problemen met recursieve klassen te voorkomen.

Een voorbeeld van een CLASSES-sectie:

KLASSENmyclass1 tty1 tty2myclass2 tty3 @ .foo.com

Dit definieert de klassen myclass1 en myclass2 als de overeenkomstige rechterkant.

De GROEPEN sectie

Een GROEP-sectie definieert toegestane tty's en hosts op basis van Unix-groep. Als een gebruiker lid is van een Unix-groep volgens / etc / passwd en / etc / group en een dergelijke groep wordt vermeld in een GROUPS-sectie in / etc / usertty dan krijgt de gebruiker toegang als de groep dat is.

Een GROEPEN-sectie 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 geeft de tty's en hosts aan waar leden van die groep toegang tot hebben. Deze specificaties kunnen betrekking hebben op het gebruik van klassen die zijn gedefinieerd in eerdere CLASSES-secties.

Een voorbeeld GROUPS-sectie.

GROEPENsys tty1 @ .bar.eduStud myclass1 tty4

Dit voorbeeld geeft aan dat leden van de groep sys kan inloggen op tty1 en van hosts in het bar.edu-domein. Gebruikers in groep knop kan inloggen van hosts / ttys gespecificeerd in de klasse myclass1 of van tty4.

De GEBRUIKERS-sectie

Een gedeelte 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 tabbladen. Het eerste woord op een regel is een gebruikersnaam en die gebruiker mag inloggen op de tty's en van de hosts die op de rest van de regel worden vermeld. Deze specificaties kunnen betrekking hebben op klassen die zijn gedefinieerd in eerdere CLASSES-secties. Als er geen sectiekop wordt opgegeven aan de bovenkant van het bestand, is de eerste sectie standaard een GEBRUIKERS-sectie.

Een voorbeeld van USERS sectie:

GEBRUIKERSzacho tty1 @ 130.225.16.0 / 255.255.255.0blue tty3 myclass2

Hiermee kan de gebruiker Zacho login alleen op tty1 en van hosts met IP-adressen in het bereik 130.225.16.0 - 130.225.16.255 en gebruiker blauw mag inloggen vanaf tty3 en alles wat in de klas is opgegeven myclass2 .

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, krijgt de gebruiker toegang vanuit de unie van alle tty's / hosts die in deze specificaties worden genoemd.

Origins

De tty en host-patroonspecificaties die worden gebruikt in de specificatie van klassen, groepen en gebruikerstoegang worden oorsprong genoemd. Een oorsprongstring kan een van deze formaten hebben:

  • De naam van een tty-apparaat zonder de / dev / prefix, bijvoorbeeld tty1 of ttyS0 .
  • De string @localhost, wat betekent dat de gebruiker telnet / rlogin mag gebruiken van de lokale host naar dezelfde host. Hierdoor kan de gebruiker bijvoorbeeld ook de opdracht uitvoeren: xterm -e / bin / login.
  • Een domeinnaamachtervoegsel zoals @ .somdom, wat betekent dat de gebruiker mag rlogin / telnet van elke host waarvan de domeinnaam het achtervoegsel .soms.dom heeft.
  • Een reeks IPv4-adressen, geschreven @ xxxx / yyyy waarbij xxxx het IP-adres is in de gebruikelijke gestippelde quad decimale notatie, en yyyy is een bitmask in dezelfde notatie die specificeert 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 mag rlogin / telnet van 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 tijdsspecificatie volgens de syntaxis:

timespec :: = '' ':' * ''dag :: = 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'zat' | 'zon'uur :: = '0' | '1' | … | '23'hourspec :: = | '-' dag of uur :: = |

Bijvoorbeeld de oorsprong Ma: di: wo: do: vr: 8-17 tty3 betekent dat inloggen op maandag t / m vrijdag tussen 8 en 17:59 uur (5:59 uur) op tty3 is toegestaan. Dit toont ook aan dat een uurbereik a-b alle momenten tussen a: 00 en b: 59 omvat. Een specificatie van één uur (zoals 10) betekent de tijdspanne tussen 10 en 10:59 uur.

Het niet opgeven van een tijdsvoorvoegsel voor een tty of host betekent dat de login vanaf die herkomst op elk moment is toegestaan. Als u een tijdsvoorvoegsel opgeeft, moet u zowel een reeks dagen als een of meer uren of uurreeksen opgeven. Een tijdsspecificatie mag geen witruimte bevatten.

Als er geen standaardregel wordt gegeven, mogen gebruikers die niet overeenkomen met een regel / etc / usertty overal inloggen, zoals standaardgedrag.

Belangrijk: Gebruik demancommando ( % man ) om te zien hoe een opdracht wordt gebruikt op uw specifieke computer.