Къде и как се съхраняват пароли в Linux?

Where How Are Passwords Stored Linux



Потребителското име със съответна парола за конкретен акаунт е основното изискване, чрез което потребителят има достъп до Linux система. Паролата на всички потребителски акаунти се записва във файл или база данни, така че потребителят може да бъде проверен по време на опита за влизане в системата. Всеки потребител няма достатъчно умения и опит, за да намери този файл в своята система. Ако обаче получите достъп до базата данни или файл, който запазва всички пароли на потребителя за вход, тогава можете лесно да получите достъп до системата Linux. Когато потребител въведе потребителско име и парола в Linux за вход, той проверява въведената парола срещу запис в различни файлове от директорията „/etc“.

Файловете /etc /passwd съхраняват цялата важна информация, необходима за влизане на потребителя. За да го обясним с по -прости думи, файлът /etc /passwd съхранява данните за акаунта на потребителя. Този файл е обикновен текстов файл, който съдържа пълен списък на всички потребители във вашата Linux система. Той съдържа информация за потребителско име, парола, UID (потребителски идентификатор), GID (идентификатор на група), черупка и домашна директория. Този файл трябва да има разрешения за четене, тъй като много помощни програми от командния ред се използват за съпоставяне на потребителските идентификатори с потребителското име. Но трябва да има ограничени разрешения за достъп за запис само за суперпотребителски или root потребителски акаунти.







Тази статия ще покаже как и къде можете да съхранявате паролите за системния потребителски акаунт в дистрибуцията на Linux. Ние реализирахме всички демонстрации на системата Ubuntu 20.04. Можете обаче да намерите /etc /passwd файл във всяка дистрибуция на Linux.



Предварителни изисквания

Трябва да имате root права за изпълнение на административни команди.



Основно разбиране за /etc /passwd файл

Файлът /etc /passwd съдържа информация за потребителския акаунт на вашата система. Всички съхранени полета са отделени от двоеточие: знак.
Когато изпълните следната команда, ще видите всеки запис на файл на /etc /passwd файл:





$котка /и т.н./passwd

Горната команда ще изброи всички потребители на вашата Linux система.
Следният тип формат ще се покаже на екрана на вашия терминал:

Подробности за /etc /passwd полета Формат
От горното изображение:

Потребителско име: Първо поле представлява името на потребителя. Дължината на полето за потребителско име се определя между 1-32 знака. Това се използва, когато потребител влезе в системата. В горния пример „khuzdar“ е потребителското име.
Парола: В горния пример знакът x показва, че паролата се съхранява в шифрован вид във /etc /shadow файла.
Потребителски идентификатор (UID): User ID трябва да бъде присвоен отделно на всеки потребител. UID нулата се присвоява на главния потребител, а потребителските идентификатори от 1-99 се присвояват на предварително дефинирани или стандартни акаунти. Допълнителните идентификационни номера от 100-999 се присвояват на системни административни акаунти или групи. В горната екранна снимка потребителският идентификатор е 1001.
Идент. № на групата (GID): Следващото поле представлява идентификатора на групата. GID се съхранява в /etc /group файл. Въз основа на горния пример, потребителят принадлежи към групата с идентификатор 1001.
Информация за User ID: Следното поле е предназначено за коментари. В това поле можете да добавите допълнителна информация за посочения потребител, като пълното име на потребителя, телефонен номер и т. Н. В горния пример обаче потребителят не предоставя телефонен номер.
Начална директория: Това поле показва местоположението на домашната директория, която е присвоена на текущия потребител. Ако посочената директория не съществува, тя ще покаже /. Горното изображение показва местоположението на маркирания потребител в домашната директория, която е home/kbuzdar.
Команда // черупка: Абсолютният път по подразбиране на черупка или команда е /bin /bash. Това е известно като черупката. Например, sysadmin използва обвивката nologin. Той се държи като заместваща обвивка за системните потребителски акаунти. Ако черупката се намира на пътя към /sbin /nologin и потребителят иска да влезе директно в системата на Linux, черупката /sbin /nologin ще затвори или деактивира връзката.



Търсете потребител във /etc /passwd файл

Можете да търсите конкретен потребител с /etc /passwd файл, като използвате командата grep. Например, искаме да търсим потребителското име „kbuzdar“ от файла /etc /passwd, използвайки следния синтаксис, след което лесно можем да търсим по определен потребител, спестявайки нашето време:

$захващанепотребителско име/и т.н./passwd

Горният синтаксис ще се промени в следната форма:

$захващанескърцащ/и т.н./passwd


Или

$захващане '^kbuzdar' /и т.н./passwd

Показване на разрешения за /etc /passwd файл

Както споменахме по -горе, всички други потребители, с изключение на root, трябва да могат да четат разрешения във /etc /passwd файла и че собственикът трябва да бъде суперпотребител или root.
Въведете следното, за да проверите разрешенията за четене във файла:

$ls -на /и т.н./passwd

Следният изходен образец ще бъде показан на терминала:

Четене на файл /etc /passwd

Можете да прочетете /etc /passwd файла на вашата Linux система, като използвате следния bash скрипт или директно да изпълните това, което е написано по -долу, докато командите за цикъл на терминала.
Създайте текстов файл и поставете следния код в него:

#!/bin/bash
# общо седем полета от /etc /passwd, съхранявани като $ f1, f2 ..., $ f7

докато IFS=:Прочети -rf1 f2 f3 f4 f5 f6 f7
направете
изхвърлен „Потребител$ f1използвайте$ f7shell и съхранява файлове в$ f6директория. '
Свършен < /и т.н./passwd

Използвайки цикъла while, той ще прочете всичките седем полета и след това итеративно ще покаже съдържанието на файла в терминала.
Запазете горния файл с името ‘readfile.sh’.

Сега стартирайте горния файл, като използвате следната команда:

$башreadfile.sh

Разгледайте /etc /shadow файл

Файлът /etc /shadow съдържа всички ваши шифровани пароли, съхранявани в този файл, които могат да се четат само за root потребители.
Нека изпълним следната команда за показване на съдържанието:

$sudo котка /и т.н./сянка

Можете да видите цялата парола в шифрован формат:

Заключение

От горната статия видяхме всички данни за акаунта на потребителя и пароли, съхранявани в /etc /passwd файл в системата Linux. Можете да прочетете този файл, но само root потребителите имат разрешения за запис. Освен това видяхме и всички шифровани пароли, съхранявани във /etc /shadow файла. Можете също да разгледате /etc /group файл, за да получите подробности за групата на потребителя.