Hur man ändrar kontolösenord på Linux

Lösenord har varit en hörnsten i kontosäkerheten i 60 år, och har gått före Unix med nästan ett decennium. Lär dig hur du använder antingen kommandoraden eller GNOME-skrivbordsmiljön för att hantera dina lösenord i Linux.

Hur man väljer ett starkt lösenord

Datorlösenordet föddes av nödvändighet. Med tillkomsten av tidsdelningsdatorsystem för flera användarevikten av att separera och skydda människors data blev uppenbar, och lösenordet löste det problemet.

Lösenord är fortfarande den vanligaste formen av kontoautentisering. Tvåfaktor och multifaktor autentisering förbättrar lösenordsskyddet, och biometrisk autentisering ger en alternativ metod för identifiering. Det gamla goda lösenordet finns dock kvar hos oss och kommer att finnas under lång tid framöver. Det betyder att du behöver veta hur du bäst skapar och använder dem. Vissa av de äldre metoderna är inte längre giltiga.

Här är några grundläggande lösenordsregler:

Använd inte lösenord alls: Använd lösenordsfraser istället. Tre eller fyra orelaterade ord som är förbundna med skiljetecken, symboler eller siffror gör det mycket svårare att knäcka än en sträng med gobbledygook eller ett lösenord med vokaler utbytta mot siffror.
Återanvänd inte lösenord: Gör inte detta på samma eller olika system.
Dela inte dina lösenord: Lösenord är privata. Dela dem inte med andra.
Basera inte lösenord på personligt betydelsefull information: Använd inte familjemedlemmars namn, sportlag, favoritband eller något annat som kan vara socialt utformat eller härledas från dina sociala medier.
Använd inte mönsterlösenord: Basera inte lösenord på mönster eller nyckelpositioner, som qwerty, 1q2w3e och så vidare.

Policyer för utgångsdatum för lösenord är inte längre bästa praxis. Om du använder starka, säkra lösenfraser behöver du bara ändra dem om du misstänker att de har äventyrats. Regelbundna lösenordsbyten främjar oavsiktligt dåliga lösenordsval eftersom många använder ett baslösenord och lägger bara till ett datum eller en siffra i slutet av det.

De National Institute of Standards and Technology har skrivit mycket om lösenord och användaridentifiering och autentisering. Deras kommentarer är offentligt tillgängliga i Specialpublikation 800-63-3: Riktlinjer för digital autentisering.

Passwd-filen

Historiskt sett har Unix-liknande operativsystem lagrat lösenord, tillsammans med annan information om varje konto, i filen ”/etc/passwd”. Idag innehåller filen ”/etc/passwd” fortfarande kontoinformation, men de krypterade lösenorden finns i filen ”/etc/shadow”, som har begränsad åtkomst. Däremot kan vem som helst titta på filen ”/etc/passwd”.

För att kika in i filen ”/etc/passwd”, skriv detta kommando:

less /etc/passwd

De

Innehållet i filen visas. Låt oss titta på detaljerna för det här kontot som kallas ”mary”.

Varje rad representerar ett enda konto (eller ett program som har ett ”användarkonto”). Det finns följande sju kolonavgränsade fält:

Användarnamn: Inloggningsnamnet för kontot.
Lösenord: Ett ”x” indikerar att lösenordet är lagrat i filen /etc/shadow.
Användar-ID: The användaridentifierare För det här kontot.
Grupp-ID: Den gruppidentifierare För det här kontot.
GECOS: Detta står för General Electric Comprehensive Operating Supervisor. Idag har GECOS-fält innehåller en uppsättning kommaavgränsad information om ett konto. Detta kan inkludera objekt som en persons fullständiga namn, rumsnummer eller kontors- och hemtelefonnummer.
Hem: Sökvägen till kontots hemkatalog.
Skal: Startade när personen loggar in på datorn.

Tomma fält representeras av ett kolon.

Fingerkommandot hämtar för övrigt sin information från GECOS-fältet.

finger mary

De

Skuggfilen

För att titta inuti filen ”/etc/shadow” måste du använda sudo:

sudo less /etc/shadow

De

Filen visas. För varje post i filen ”/etc/passwd” bör det finnas en matchande post i filen ”/etc/shadow”.

Varje rad representerar ett enda konto och det finns nio kolonavgränsade fält:

Användarnamn: Inloggningsnamnet för kontot.
Krypterat lösenord: Det krypterade lösenordet för kontot.
Senaste ändring: Det datum då lösenordet senast ändrades.
Minsta antal dagar: Det minsta antal dagar som krävs mellan lösenordsändringar. Personen måste vänta detta antal dagar innan han kan ändra sitt lösenord. Om detta fält innehåller en nolla kan han ändra sitt lösenord så ofta han vill.
Maximalt antal dagar: Det maximala antalet dagar som krävs mellan lösenordsändringar. Vanligtvis innehåller detta fält ett mycket stort antal. Värdet för ”mary” är 99 999 dagar, vilket är över 27 år.
Varningsdagar: Antalet dagar före ett lösenords utgångsdatum för att visa ett påminnelsemeddelande.
Återställ utlåsning: När ett lösenord löper ut, väntar systemet detta antal dagar (en respitperiod) innan det inaktiverar kontot.
Kontots utgångsdatum: Det datum då ägaren av kontot inte längre kommer att kunna logga in. Om detta fält är tomt förfaller kontot aldrig.
Reservfält: Ett tomt fält för eventuell framtida användning.

Tomma fält representeras av ett kolon.

Få fältet ”Senaste ändring” som ett datum

De Unix-epok startade den 1 januari 1970. Värdet för fältet ”Senaste förändring” är 18 209. Detta är antalet dagar efter 1 januari 1970, lösenordet för kontot ”mary” ändrades.

Använd det här kommandot för att se värdet ”Senaste ändring” som ett datum:

date -d "1970-01-01 18209 days"

Datumet visas som midnatt den dag då lösenordet senast ändrades. I det här exemplet var det den 9 november 2019.

De

Kommandot passwd

Du använder kommandot passwd för att ändra ditt lösenord, och – om du har sudo-privilegier – andras lösenord.

För att ändra ditt lösenord, använd kommandot passwd utan parametrar:

passwd

De

Du måste ange ditt nuvarande lösenord och ditt nya två gånger.

Utdata från

Ändra någon annans lösenord

För att ändra lösenordet för ett annat konto måste du använda sudo och ange namnet på kontot:

sudo passwd mary

De

Du måste ange ditt lösenord för att verifiera att du har superanvändarbehörighet. Skriv det nya lösenordet för kontot och skriv det sedan igen för att bekräfta.

Framtvinga en lösenordsändring

För att tvinga någon att ändra sitt lösenord nästa gång hon loggar in, använd alternativet -e (expire):

sudo passwd -e mary

De

Du får höra att lösenordets utgångsdatum har ändrats.

De

När ägaren av kontot ”mary” loggar in nästa gång måste hon ändra sitt lösenord:

De

Lås ett konto

För att låsa ett konto, skriv passwd med alternativet -l (lås):

sudo passwd -l mary

De

Du har fått veta att lösenordets utgångsdatum har ändrats.

Ägaren av kontot kommer inte längre att kunna logga in på datorn med sitt lösenord. För att låsa upp kontot, använd alternativet -u (lås upp):

sudo passwd -u mary

De

Återigen informeras du om att lösenordets utgångsdata har ändrats:

Återigen kommer ägaren av kontot inte längre att kunna logga in på datorn med sitt lösenord. Men hon kunde fortfarande logga in med en autentiseringsmetod som inte kräver hennes lösenord, till exempel SSH-nycklar.

Om du verkligen vill låsa ut någon från datorn måste du avsluta kontot.

Chage Command

Nej, det finns inget ”n” på väg. Det står för ”byt ålder”. Du kan använda kommandot chage för att ställa in en utgångsdatum för ett helt konto.

Låt oss ta en titt på de nuvarande inställningarna för ”mary”-kontot, med alternativet -l (lista):

sudo chage -l mary

De

Förfallodatumet för kontot är inställt på ”aldrig”.

Utgång från

För att ändra utgångsdatum, använd alternativet -E (utgångsdatum). Om du ställer in den på noll tolkas detta som ”noll dagar från Unix-epoken”, dvs 1 januari 1970.

Skriv följande:

sudo chage -E0 mary

De

Kontrollera kontots utgångsdatum igen:

sudo chage -l mary

Utgång från

Eftersom utgångsdatumet ligger i det förflutna är det här kontot nu verkligen låst, oavsett vilken autentiseringsmetod ägaren kan använda.

För att återställa kontot, använd samma kommando med -1 som den numeriska parametern:

sudo chage -E -1 mary

De

Skriv följande för att dubbelkolla:

sudo chage -l mary

Utdata från

Kontots utgångsdatum återställs till ”aldrig”.

Ändra ett kontolösenord i GNOME

Ubuntu och många andra Linux-distributioner använder GNOME som standard skrivbordsmiljö. Du kan använda dialogrutan ”Inställningar” för att ändra lösenordet för ett konto.

För att göra det klickar du på ikonen Inställningar i systemmenyn.

I dialogrutan Inställningar klickar du på ”Detaljer” i rutan till vänster och klickar sedan på ”Användare”.

Klick

Klicka på kontot som du vill ändra lösenordet för; i det här exemplet väljer vi ”Mary Quinn.” Klicka på kontot och klicka sedan på ”Lås upp”.

Klick

Du uppmanas att ange ditt lösenord. När du har autentiserats blir ”Marys” detaljer redigerbara. Klicka på fältet ”Lösenord”.

Klicka på

I dialogrutan ”Ändra lösenord”, klicka på alternativknappen ”Ange ett lösenord nu”.

Klicka på

Skriv det nya lösenordet i fälten ”Nytt lösenord” och ”Verifiera nytt lösenord”.

Skriv det nya lösenordet i

Om lösenordsinmatningarna stämmer överens, blir ”Ändra”-knappen grön; klicka på den för att spara det nya lösenordet.

I andra skrivbordsmiljöer kommer kontoverktygen att likna de i GNOME.

Håll dig säker, håll dig säker

I 60 år har lösenordet varit en viktig del av kontosäkerheten på nätet, och det kommer inte att försvinna snart.

Det är därför det är viktigt att administrera dem på ett klokt sätt. Om du förstår mekanismerna för lösenord i Linux och använder de bästa lösenordspraxisen kommer du att hålla ditt system säkert.