Секретный файл shadow: где и как Linux прячет ваши пароли

Секретный файл shadow: где и как Linux прячет ваши пароли

Вы когда-нибудь задумывались, куда девается ваш пароль после того, как вы его вводите в систему Linux? Не в реестр же, как в других ОС! Ответ кроется в хитроумной системе файлов, спрятанных глубоко в недрах системы.

Изначально все пароли хранились в открытом доступе, что было колоссальной дырой в безопасности. Но все изменилось. Сейчас ваши секретные коды надежно упрятаны в специальный, максимально защищенный файл, который обычным пользователям даже посмотреть нельзя.

Этот файл — /etc/shadow. Доступ к нему имеет только суперпользователь root. Но и это еще не все. Ваш пароль там и не хранится в чистом виде! Система преобразует его в длинную строку случайных символов, используя мощные алгоритмы хеширования.

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

А знали ли вы, что пароли от браузера, мессенджеров и SSH-ключей могут храниться в отдельном, удобном хранилище? Мы расскажем о встроенной утилите, которая позволяет управлять всеми этими секретами в одном месте.

Готовы заглянуть под капот вашей операционной системы и узнать все ее паролиные секреты? Тогда читайте статью — вас ждет масса интересных открытий!


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

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

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

sudo cat /etc/shadow

Секретный файл shadow: где и как Linux прячет ваши пароли

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

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

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

Секретный файл shadow: где и как Linux прячет ваши пароли

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

Секретный файл shadow: где и как Linux прячет ваши пароли

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

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив