Сигурност

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

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

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

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

Предварителни условия

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

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

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

$ cat / etc / passwd

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

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

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

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

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

$ grep потребителско име / etc / passwd

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

$ grep kbuzdar / etc / passwd


Или

$ grep -w '^ kbuzdar' / etc / passwd

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

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

$ ls -l / etc / passwd

На терминала ще се покаже следната извадка:

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

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

#!/ bin / bash
# общо седем полета от / etc / passwd, съхранени като $ f1, f2 ..., $ f7
докато IFS =: четене -r f1 f2 f3 f4 f5 f6 f7
направете
echo "Потребител $ f1 използва $ f7 черупка и съхранява файлове в директория $ f6."
Свършен < /etc/passwd

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

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

$ bash файл за четене.ш

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

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

$ sudo cat / etc / shadow

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

Заключение

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

Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...
Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...