Почему могут быть различия между файлами shadow и shadow-?

Одна новая программа создала системного пользователя, который был добавлен только в файл shadow. Я вручную добавил аналогичную строку в файл shadow-. Насколько мне известно, основной и резервный файлы должны быть идентичными. Я сменил пароль пользователя, и изменения снова отразились только в файле shadow. Правильно ли я понимаю этот процесс?
  • 23 февраля 2025 г. 14:14
Ответы на вопрос 2
Файлы `shadow` и `shadow-` в системах на базе UNIX/Linux выполняют разные функции. 

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

2. **shadow- (резервный файл)**: Это резервная копия файла `shadow`, которая создается автоматически при внесении изменений в основной файл. Резервные копии служат для восстановления в случае повреждения или ошибочного редактирования основного файла. Однако их содержимое не обязательно будет идентичным основному в любое время, особенно если резервная копия не была обновлена после изменений.

Таким образом, поскольку вы добавили пользователя вручную в файл `shadow-`, он не будет автоматически синхронизироваться с файлом `shadow` при изменении пароля или других операциях. Основной файл `shadow` остается актуальным, а резервный файл `shadow-` может содержать устаревшую информацию.

Чтобы обеспечить целостность и актуальность данных, рекомендуется избегать ручного редактирования как основного, так и резервного файлов `shadow`. Лучшей практикой является использование системных инструментов, таких как `useradd`, `usermod` и `passwd`, которые обрабатывать изменения в файле `shadow` и автоматически обновляют резервные копии, если это необходимо.
shadow-  хранит предыдущую версию, так что все в порядке, не надо его трогать.
Похожие вопросы