Linux где лежат пароли
НАЗВАНИЕ
ОПИСАНИЕ
Файл /etc/passwd содержит учётные записи пользователей, по одной в каждой строке. Строка состоит из семи полей, разделённых двоеточиями («:»). Поля: • имя пользователя для входа в систему • необязательный зашифрованный пароль • числовой идентификатор пользователя • числовой идентификатор группы • ФИО пользователя или поле комментария • домашний каталог пользователя • необязательный интерпретатор командной строки пользователя Поле с зашифрованным паролем может быть пустым, и тогда для входа под этой учётной записью пароль не требуется. Однако, некоторые приложения, которые читают файл /etc/passwd, могут решить не позволять любой доступ, если поле пароля пустое. Если поле пароля содержит строчную «x», то шифрованный пароль хранится в файле shadow(5); в файле shadow должна быть соответствующая строка, иначе учётная запись считается недействительной. Если в поле пароля содержится какая-то другая строка, то она воспринимается как шифрованный пароль, согласно формату crypt(3). Поле комментария используется различными системными утилитами, такими как finger(1). В поле домашнего каталога хранится начальный рабочий каталог. Программа login использует эту информацию для установки значения переменной окружения $HOME. В поле интерпретатора командной строки хранится название интерпретатора командной строки пользователя или программы, которая будет запущена первой. Программа login использует эту информацию для установки значения переменной окружения $SHELL. Если это поле пустое, то используется значение по умолчанию /bin/sh.
ФАЙЛЫ
/etc/passwd содержит информацию о пользователях /etc/shadow необязательный файл с шифрованными паролями /etc/passwd- резервная копия файла /etc/passwd Заметим, что этот файл используется программами из комплекта утилит shadow, но не всеми инструментами управления пользователями и паролями.
СМОТРИТЕ ТАКЖЕ
crypt(3), getent(1), getpwnam(3), login(1), passwd(1), pwck(8), pwconv(8), pwunconv(8), shadow(5), su(1), sulogin(8).
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Где и как хранятся пароли в Linux?
Добавить в избранное
Главное меню » Linux » Где и как хранятся пароли в 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:
Приведенная выше команда выведет список всех пользователей вашей системы Linux.
Подробная информация о форматах полей /etc/passwd:
- Username: первое поле представляет имя пользователя. Длина поля имени пользователя определяется от 1 до 32 символов. Это используется, когда пользователь входит в систему.
- Password: В приведенном выше примере символ «x» означает, что пароль хранится в зашифрованном виде в файле /etc/shadow.
- User ID (UID): идентификатор пользователя должен быть отдельно назначен каждому пользователю. Нулевой UID назначается пользователю root, а идентификаторы пользователей от 1 до 99 назначаются предопределенным или стандартным учетным записям. Дальнейшие UID от 100 до 999 назначаются системным административным учетным записям или группам.
- Group ID (GID): Следующее поле представляет собой идентификатор группы. GID хранится в файле /etc/group.
- Information about User ID: Следующее поле предназначено для комментариев. В этом поле вы можете добавить некоторую дополнительную информацию об указанном пользователе, такую как полное имя пользователя, номер телефона и т. д.
- Home directory: в этом поле отображается расположение домашнего каталога, назначенного текущему пользователю. Если указанный каталог не существует, будет отображаться «/».
- Command //shell: Абсолютный путь по умолчанию к оболочке или команде — /bin/bash. Это известно как оболочка. Например, системный администратор, использующий оболочку nologin. Он действует как замещающая оболочка для учетных записей пользователей системы. Если оболочка расположена по пути /sbin/nologin, и пользователь хочет войти непосредственно в систему Linux, оболочка /sbin/nologin закроет или отключит соединение.
Поиск пользователя в файле/etc/passwd
Вы можете найти конкретного пользователя с помощью файла/etc/passwd, используя команду grep. Например, мы хотим найти имя пользователя andreyex из файла/etc/passwd, используя следующий синтаксис, тогда мы можем легко найти указанного пользователя, сэкономив наше время:
Приведенный выше синтаксис изменится на следующую форму:
$ grep andreyex / etc / passwd
Где хранятся пароли пользователей Linux
В Linux нет особого реестра, где бы хранились настройки программ, данные пользователей и другие компоненты системы. Всё хранится в файлах. В этой небольшой статье мы поговорим о том, где хранятся пароли пользователей Linux.
Изначально для хранения паролей использовался файл /etc/passwd. Но этот файл доступен для чтения всем пользователям. Поэтому, из соображений безопасности, пароли пользователей были перенесены в файл /etc/shadow. Этот файл доступен для чтения только пользователю root.
Важно отметить, что пароли в этом файле хранятся не в открытом виде, а в хэшированном. Существует несколько алгоритмов хэширования паролей для Linux. Подробно всё это рассматривалось в статье про смену пароля Linux. Сейчас же давайте посмотрим на общий синтаксис файла /etc/shadow:
В первой строке представлены следующие данные:
- root — имя пользователя, для которого сохранен пароль;
- $6$yr. — хэш пароля, длина хэша от пароля никак не зависит, в данном случае зашифровано слово password;
- 18376 — дата последнего изменения пароля;
- 0 — количество дней на смену пароля, если его срок действия истёк;
- 999999 — количество дней от момента последней смены пароля до момента, когда надо сменить пароль принудительно;
- 7 — за сколько дней пользователь будет предупреждён о необходимости смены пароля.
- Ещё три поля — задают параметры отключения учётной записи пользователя.
Это всё, что следует знать об этом файле. В Linux есть ещё одно место, где приложения хранят свои пароли, SSH-ключи и другие секретные данные. Это хранилище ключей. В Gnome утилита называется SeaHorce. Вы можете найти её по названию в главном меню:
В самой утилите вы сможете найти и удалить ключи от различных приложений, ключ от хранилища паролей Chromium, токен доступа в Skype, а также все SSH-ключи, добавленные к вашей системе.
Естественно, здесь всё тоже захэшировано и просто прочитать пароль не получиться, если, конечно, какое-нибудь приложение не хранит их в открытом виде. Теперь вы знаете, где хранятся пароли в Linux. На этом всё.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.