Filerna /etc /passwd behåller all viktig information som är nödvändig för användarinloggning. För att förklara det med enklare ord lagrar filen /etc /passwd användarens kontouppgifter. Den här filen är en vanlig textfil som innehåller en komplett lista över alla användare på ditt Linux -system. Den har information om användarnamn, lösenord, UID (användar -id), GID (grupp -id), skal och hemkatalog. Den här filen ska ha läsbehörighet eftersom många kommandoradsverktyg används för att mappa användar-ID: n till användarnamnet. Men bör ha begränsade skrivbehörigheter endast för superanvändare eller rotanvändarkonton.
Den här artikeln kommer att visa hur och var du kan lagra systemanvändares kontolösenord på Linux -distribution. Vi har implementerat alla demonstrationer på Ubuntu 20.04 -systemet. Du kan dock hitta /etc /passwd -fil på vilken Linux -distribution som helst.
Förutsättningar
Du bör ha roträttigheter för att köra administrativa kommandon.
Grundläggande förståelse för /etc /passwd -fil
Filen /etc /passwd innehåller informationen om ditt systems användarkonto. Alla lagrade fält är separerade från kolon: tecknet.
När du kör följande kommando ser du varje filpost i /etc /passwd -filen:
$katt /etc/passwd
Kommandot ovan listar alla användare av ditt Linux -system.
Följande typ av format visas på terminalskärmen:
Information om /etc /passwd -fält Format
Från bilden ovan:
Användarnamn: Fält ett representerar användarens namn. Längden på användarnamnfältet definieras mellan 1-32 tecken. Detta används när en användare loggar in i systemet. I exemplet ovan är 'khuzdar' användarnamnet.
Lösenord: I exemplet ovan visar x -tecknet att lösenordet lagras i krypterad form i filen /etc /shadow.
Användar -ID (UID): Användar -ID måste tilldelas varje användare separat. UID-nollan tilldelas rotanvändaren och användar-ID från 1-99 tilldelas fördefinierade eller standardkonton. De ytterligare UID: erna från 100-999 tilldelas systemadministrativa konton eller grupper. I skärmdumpen ovan är användar -ID: t 1001.
Grupp -ID (GID): Nästa fält representerar grupp -ID. GID lagras i /etc /group -filen. Baserat på exemplet ovan tillhör användaren grupp -id 1001.
Information om användar -ID: Följande fält är avsett för kommentarer. I det här fältet kan du lägga till ytterligare information om den angivna användaren, till exempel användarens fullständiga namn, telefonnummer, etc. I exemplet ovan tillhandahålls dock inget telefonnummer av användaren.
Hemkatalog: Detta fält visar platsen för hemkatalogen som har tilldelats den aktuella användaren. Om den angivna katalogen inte finns, kommer den att visa /. Bilden ovan visar platsen för den markerade användaren i hemkatalogen, som är home/kbuzdar.
Kommando // skal: Den absoluta sökvägen för ett skal eller kommando är /bin /bash. Detta är känt som skalet. Till exempel sysadmin som använder nologin -skalet. Det fungerar som ett ersättningsskal för systemanvändarkontona. Om skalet är placerat vid sökvägen till /sbin /nologin och användaren vill logga in direkt till Linux -systemet, stänger /inaktiverar /sbin /nologin -skalet anslutningen.
Sök användare i filen /etc /passwd
Du kan söka efter en specifik användare med /etc /passwd -filen med kommandot grep. Till exempel vill vi söka användarnamnet ‘kbuzdar’ från filen /etc /passwd med följande syntax, då kan vi enkelt söka efter en angiven användare och spara vår tid:
$greppAnvändarnamn/etc/passwdOvanstående syntax ändras till följande form:
$grepppipig/etc/passwd
Eller
Visa behörigheter för filen /etc /passwd
Som vi nämnde ovan bör alla andra användare, förutom root, kunna läsa behörighet på filen /etc /passwd och att ägaren måste vara superanvändare eller root.
Skriv följande för att kontrollera läsbehörigheterna för filen:
Följande utdataprov visas på terminalen:
Läser /etc /passwd -fil
Du kan läsa /etc /passwd -filen på ditt Linux -system med hjälp av följande bash -skript eller direkt köra det som skrivs nedan medan loop -kommandon på terminalen.
Skapa en textfil och klistra in följande kod i den:
# totalt sju fält från /etc /passwd lagrade som $ f1, f2 ..., $ f7
medan IFS=:läsa -rf1 f2 f3 f4 f5 f6 f7
do
kastade ut 'Användare$ f1använda sig av$ f7skal och lagrar filer i$ f6katalog. '
Gjort < /etc/passwd
Genom att använda while -slingan kommer den att läsa alla sju fälten och sedan iterativt visa filinnehållet på terminalen.
Spara filen ovan med namnet ‘readfile.sh’.
Kör nu ovanstående fil med följande kommando:
$våldsamt slagreadfile.sh
Utforska /etc /skuggfil
Filen /etc /shadow innehåller alla dina krypterade lösenord som är lagrade i den här filen som bara är läsbara för rotanvändare.
Låt oss köra följande kommando för att visa innehållet:
Du kan se allt lösenord i det krypterade formatet:
Slutsats
Vi har sett från ovanstående artikel alla användarens kontodetaljer och lösenord lagrade i /etc /passwd -filen i Linux -systemet. Du kan läsa den här filen, men endast root -användare har skrivbehörigheter. Dessutom har vi också sett alla krypterade lösenord lagrade i filen /etc /shadow. Du kan också utforska /etc /group -filen för att få information om användarens grupp.