/ Etc / passwd-filerna behåller all viktig information som är nödvändig för användarinloggning. För att förklara det med enklare ord lagrar / etc / passwd-filen användarens kontouppgifter. Den här filen är en vanlig textfil som innehåller en fullständig 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 bör ha läsbehörigheter eftersom många kommandoradsverktyg används för att mappa användar-ID: n till användarnamnet. Men borde ha begränsad skrivbehörighet endast för superanvändare eller root-användarkonton.
Den här artikeln kommer att visa hur och var du kan lagra systemanvändarnas kontolösenord vid Linux-distribution. Vi har implementerat alla demonstrationer på Ubuntu 20.04-systemet. Du kan dock hitta / etc / passwd-fil i vilken Linux-distribution som helst.
Förutsättningar
Du bör ha root-behörigheter för att köra administrativa kommandon.
Grundläggande förståelse för / etc / passwd File
/ Etc / passwd-filen innehåller information om ditt användarkonto. Alla lagrade fält är separerade från kolon ":" -tecknet.
När du kör följande kommando ser du varje filinmatning i / etc / passwd-fil:
Ovanstående kommando listar alla användare av ditt Linux-system.
Följande typ av format visas på terminalskärmen:
Detaljer om / etc / passwd fält Format
Från bilden ovan:
Användarnamn: Fält ett representerar användarens namn. Längden på fältet för användarnamn definieras mellan 1-32 tecken. Detta används när en användare loggar in på systemet. I exemplet ovan är 'khuzdar' användarnamnet.
Lösenord: I exemplet ovan visar “x” -tecknet att lösenordet lagras i krypterad form i / etc / shadow-filen.
Användar-ID (UID): Användar-ID måste tilldelas separat till varje användare. UID-noll tilldelas rotanvändaren och användar-ID från 1-99 tilldelas fördefinierade eller vanliga konton. Ytterligare UID: er från 100-999 tilldelas systemadministrativa konton eller grupper. I ovanstående skärmdump är användar-ID: t 1001.
Grupp-ID (GID): Nästa fält representerar grupp-ID. GID lagras i / etc / gruppfil. Baserat på ovanstående exempel 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: Det här fältet visar platsen för den hemkatalog som tilldelats den aktuella användaren. Om den angivna katalogen inte finns kommer den att visa “/”. Ovanstående bild visar platsen för den markerade användaren i hemkatalogen, som är hem / kbuzdar.
Kommando // skal: Den absoluta standardvägen för ett skal eller kommando är / bin / bash. Detta kallas skalet. Till exempel sysadmin med hjälp av nologin-skalet. Det fungerar som ett ersättningsskal för systemanvändarkontona. Om skalet ligger vid sökvägen till / sbin / nologin och användaren vill logga in direkt på Linux-systemet kommer / sbin / nologin-skalet att stänga eller inaktivera anslutningen.
Sök användare i / etc / passwd-fil
Du kan söka efter en specifik användare med / etc / passwd-fil med kommandot grep. Vi vill till exempel söka i användarnamnet 'kbuzdar' från filen / etc / passwd med hjälp av följande syntax, så kan vi enkelt söka i en viss användare och spara vår tid:
$ grep användarnamn / etc / passwdOvanstående syntax ändras till följande form:
$ grep kbuzdar / etc / passwd
Eller
Visa behörigheter för / etc / passwd-fil
Som vi nämnde ovan bör alla andra användare, utom root, kunna läsa behörighet för filen / etc / passwd och att ägaren måste vara superanvändare eller root.
Skriv följande för att kontrollera läsbehörigheterna i filen:
Följande utgångsprov 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äs -r f1 f2 f3 f4 f5 f6 f7
do
echo "Användare $ f1 använder $ f7-skal och lagrar filer i $ f6-katalogen."
Gjort < /etc/passwd
Med hjälp av while-slingan läser den alla sju fälten och visar sedan iterativt filinnehållet på terminalen.
Spara ovanstående fil med namnet 'readfile'.sh '.
Kör nu filen ovan med hjälp av följande kommando:
$ bash-läsfil.sh
Utforska / etc / skuggfil
/ Etc / skuggfilen innehåller alla dina krypterade lösenord som lagras i den här filen som endast är läsbara för rotanvändare.
Låt oss köra följande kommando för att visa innehållet:
Du kan se alla lösenord i krypterat format:
Slutsats
Från ovanstående artikel har vi sett alla användarens kontouppgifter och lösenord lagrade på / etc / passwd-filen i Linux-systemet. Du kan läsa den här filen, men endast rotanvändare har "skrivbehörighet". Dessutom har vi också sett alla krypterade lösenord lagrade i / etc / shadow-filen. Du kan också utforska / etc / gruppfil för att få information om användarens grupp.