Файловете /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
Или
Показване на разрешения за /etc /passwd файл
Както споменахме по -горе, всички други потребители, с изключение на root, трябва да могат да четат разрешения във /etc /passwd файла и че собственикът трябва да бъде суперпотребител или root.
Въведете следното, за да проверите разрешенията за четене във файла:
Следният изходен образец ще бъде показан на терминала:
Четене на файл /etc /passwd
Можете да прочетете /etc /passwd файла на вашата Linux система, като използвате следния 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 потребители.
Нека изпълним следната команда за показване на съдържанието:
Можете да видите цялата парола в шифрован формат:
Заключение
От горната статия видяхме всички данни за акаунта на потребителя и пароли, съхранявани в /etc /passwd файл в системата Linux. Можете да прочетете този файл, но само root потребителите имат разрешения за запис. Освен това видяхме и всички шифровани пароли, съхранявани във /etc /shadow файла. Можете също да разгледате /etc /group файл, за да получите подробности за групата на потребителя.