Меню Рубрики

Где хранятся пароли пользователей linux

Сведения о пользователях и группах в Linux

В этой статье рассмотрим где хранится информация о пользователях и группах.

Данная информация хранится в следующих файлах:

  • /etc/passwd — хранит информацию о пользователях, доступен для просмотра всем пользователям.
  • /etc/group — хранит информацию о группах, доступен для просмотра всем пользователям.
  • /etc/shadow — хранит информацию о пользователях и их паролях, доступен только суперпользователю.
  • /etc/gshadow — хранит информацию о группах и их паролях, доступен только суперпользователю.

Файлы представляют из себя базы данных. Каждая строка файла описывает одного пользователя/группу, поля разделяются двоеточием. Все файлы имеют связи друг с другом. имя пользователя связывает записи файлов /etc/passwd и /etc/shadow. Имя группы связывает записи файлов /etc/group и /etc/gshadow.

Для избегания некорректной работы файлов и системы в целом, рекомендуется использовать специальные программы для добавления пользователей и групп.

Сведения о п ользователях

Откроем файл /etc/passwd, для этого выполним команду:

Рассмотрим содержание файла.

При открытии, снизу появляется уведомление, о том, что файл предназначен для чтения. На данном снимке не видно, потому как я выделил строку и оно закрылось. Уведомление высвечивается, если файл открыт без прав суперпользователя. Посмотрим информацию и моём пользователе.

  • anatolii — Имя пользователя
  • x — Пароль. Здесь указывается специальный символ Х , который говорит о том, что пароль находится не в этом файле, а в теневом файле /etc/shadow.
  • 1000 — Идентификатор пользователя. Идентификаторы до 1000 зарезервированы для использования системой и службами, свыше тысячи для пользователей. В некоторых дистрибутивах для пользователей используются значения от 500.
  • 1000 — Идентификатор группы. По умолчанию, в ОС Linux для каждого нового пользователя создается новая группа с таким же именем и идентификатором. При создании можно указать, чтобы группа не создавалась, или присвоить членство в другой группе. Группы
    хранятся в файле /etc/group, а поле идентификатора группы в файле /etc/passwd. Этот идентификатор не играет особой роли при определении прав доступа. Он используется лишь при создании новых файлов и каталогов.
  • anatolii. — Прочие сведения пользователя, указываются через запятую: полное имя, номер офиса и здания, рабочий телефон, домашний телефон.
  • /home/anatolii — Домашняя папка пользователя. При создании пользователя можно не создавать её, либо создать её по другому пути. По умолчанию (/home/ваш логин)
  • /bin/bash — Командная оболочка, которая запускается при входе.

Сведения о группах

С информацией о группах можно ознакомиться в файле /etc/group. Просмотреть его можно опять же командой nano /etc/group .

Тут наглядно видно уведомление, что файл только для чтения, о котором писал выше. Тут уже строчку не выделил, рассматривать будем на примере группы cdrom (вторая снизу).

  • cdrom — имя группы
  • x — пароль для группы. Знак X опять же информирует, о хранении пароля в теневом файле /etc/gshadow. У групп, практически никогда не используют пароли, но такая опция есть.

Пример 1. Если пользователь будет менять членство группы, то у него запросится этот пароль.

Пример 2. Если мы устанавливаем доступ на папку или файл группе, то при обращении к файлу или при переходе в папку, у нас запросят пароль.

  • 24 — идентификатор группы
  • anatolii — члены группы. Если после двоеточия пусто, то в эту группу входит только одноимённый пользователь. Пользователи указываются через запятую. Если в файле /etc/passwd пользователь является членом определённой группы, а в файле /etc/group он не включён в эту группу, то пользователь все равно включается в неё. На этапе регистрации членство в группе проверяется по обоим файлам, но лучше использовать команды, либо согласовывать их содержимое.

Минус файлов /etc/passwd и /etc/group в том, что по умолчанию у всех пользователей системы есть разрешение на чтение информации из них. Потому что разные демоны и службы обращаются к этим файлам, чтобы брать из них информацию. В этих файлах раньше хранился пароль пользователя, хоть он был и в зашифрованном виде, его всё равно можно было узнать, используя специальные программы.

Сейчас же используется механизм теневых паролей. Это файл /etc/shadow и /etc/gshadow. И как уже было отмечено выше, пользователи не могут их просмотреть, и уж тем более изменить, без прав суперпользователя.

Сведения о паролях пользователя

Посмотрим файл /etc/shadow, для это используем всё тот же редактор nano, но уже с правами суперпользователя:

Источник

Где хранятся пароли пользователей Linux

В Linux нет особого реестра, где бы хранились настройки программ, данные пользователей и другие компоненты системы. Всё хранится в файлах. В этой небольшой статье мы поговорим о том, где хранятся пароли пользователей Linux.

Изначально для хранения паролей использовался файл /etc/passwd. Но этот файл доступен для чтения всем пользователям. Поэтому, из соображений безопасности, пароли пользователей были перенесены в файл /etc/shadow. Этот файл доступен для чтения только пользователю root.

Важно отметить, что пароли в этом файле хранятся не в открытом виде, а в хэшированном. Существует несколько алгоритмов хэширования паролей для Linux. Подробно всё это рассматривалось в статье про смену пароля Linux. Сейчас же давайте посмотрим на общий синтаксис файла /etc/shadow:

sudo cat /etc/shadow

В первой строке представлены следующие данные:

  • root — имя пользователя, для которого сохранен пароль;
  • $6$yr. — хэш пароля, длина хэша от пароля никак не зависит, в данном случае зашифровано слово password;
  • 18376 — дата последнего изменения пароля;
  • 0 — количество дней на смену пароля, если его срок действия истёк;
  • 999999 — количество дней от момента последней смены пароля до момента, когда надо сменить пароль принудительно;
  • 7 — за сколько дней пользователь будет предупреждён о необходимости смены пароля.
  • Ещё три поля — задают параметры отключения учётной записи пользователя.

Это всё, что следует знать об этом файле. В Linux есть ещё одно место, где приложения хранят свои пароли, SSH-ключи и другие секретные данные. Это хранилище ключей. В Gnome утилита называется SeaHorce. Вы можете найти её по названию в главном меню:

В самой утилите вы сможете найти и удалить ключи от различных приложений, ключ от хранилища паролей Chromium, токен доступа в Skype, а также все SSH-ключи, добавленные к вашей системе.

Естественно, здесь всё тоже захэшировано и просто прочитать пароль не получиться, если, конечно, какое-нибудь приложение не хранит их в открытом виде. Теперь вы знаете, где хранятся пароли в Linux. На этом всё.

Источник

Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей

Глава 27. Пароли пользователей

Данная глава содержит дополнительную информацию о паролях локальных пользователей.

В главе подробно описаны три метода установки паролей; с использованием утилиты passwd , с использованием реализации алгоритма шифрования passwd из библиотеки openssl , а также с использованием функции crypt в программе на языке C.

Кроме того, в данной главе обсуждаются параметры паролей и методики отключения, аннулирования или блокировки учетных записей пользователей.

Утилита passwd

Файл shadow

Файл /etc/shadow содержит таблицу с девятью разделенными двоеточиями столбцами. Эти девять столбцов (слева направо) содержат имя пользователя, зашифрованный пароль, время последнего изменения пароля (первый день соответствует 1 января 1970 года), количество дней, в течение которых пароль должен оставаться неизменным, день истечения срока действия пароля, количество дней перед истечением срока действия пароля, в течение которых должно выводиться предупреждение, количество дней после истечения срока действия пароля, по прошествии которых учетная запись должна быть отключена, а также день, когда учетная запись была отключена (также с начала 1970 года). Последнее поле пока не имеет значения.

Все пароли в примере выше являются хэшами фразы hunter2 .

Шифрование ключевых фраз с помощью утилиты passwd

Шифрование ключевых фраз с помощью утилиты openssl

Другой способ создания учетных записей пользователей с паролями заключается в использовании параметра -p утилиты useradd, но в случае использования данного параметра утилите необходимо передавать уже зашифрованный пароль. Вы можете зашифровать пароль с помощью команды openssl passwd .

Помните о том, что после выполнения данной команды ваш пароль в открытом виде будет сохранен в файле истории команд командной оболочки!

Шифрование ключевых фраз с помощью функции crypt

Обратили ли вы внимание на то, что первые два символа зашифрованного пароля являются значением salt ?

Файл /etc/login.defs

Утилита chage

Блокировка учетных записей

Пароли из файла /etc/shadow не могут начинаться с символа восклицательного знака. Если второе поле в строке из файла /etc/passwd начинается с символа восклицательного знака, пароль не может использоваться.

Использование данной особенности обычно называется блокировкой , деактивацией или отключением пользовательской учетной записи. Помимо текстового редактора vi (или vipw) вы можете использовать утилиту usermod для этой цели.

Следует подходить с осторожностью к работе и учитывать различия параметров интерфейса командной строки утилит passwd , usermod и useradd в различных дистрибутивах Linux. Проверяйте содержимое локальных файлов при использовании таких возможностей, как «деактивация, отключение или блокировка» учетных записей пользователей и их паролей.

Редактирование локальных файлов

Практическое задание: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

5. Попытайтесь изменить пароль serena на пароль serena as serena.

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Корректная процедура выполнения практического задания: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

Обратите внимание на то, что в результате выполнения команды usermod -L перед хэшем пароля добавляется символ восклицательного знака.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

Блокировка предотвратит вход пользователя в систему с использованием установленного пароля благодаря добавлению символа ! перед хэшем пароля в файле /etc/shadow .

Деактивация с помощью утилиты passwd приведет к удалению хэша пароля из файла /etc/shadow .

5. Попытайтесь изменить пароль serena на пароль serena as serena.

Войдите в систему с именем пользователя serena , после чего выполните команду: passwd serena . Исполнение команды должно завершиться неудачей!

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

Утилита vipw выведет предупреждение в том случае, если кто-либо еще в данный момент редактирует данный файл (с помощью утилиты vipw ).

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Яркость дисплея mac os
  • Яндекс строка для mac os
  • Яндекс радио для mac os
  • Яндекс почта приложение для mac os
  • Яндекс переводчик для mac os