У системах Linux паролі користувачів надійно зберігаються у зашифрованих форматах у спеціальних системних файлах і базах даних автентифікації. Ці облікові дані відіграють важливу роль в управлінні контролем доступу і гарантують, що лише авторизовані користувачі можуть взаємодіяти з системними ресурсами. Наприклад, стандартні паролі користувачів зазвичай хешуються і зберігаються у файлі /etc/shadow, доступ до якого мають лише привілейовані процеси. Аналогічно, такі сервіси, як OpenSSH, покладаються на ці збережені хеші для перевірки ідентичності користувачів під час сеансів віддаленого входу.
Для хостинг-провайдерів, таких як AvaHost, розуміння того, як і де Linux зберігає ці облікові дані, має важливе значення для підтримки безпечного середовища на VPS і виділених серверах. Незалежно від того, чи ви налаштовуєте політики passwd для декількох клієнтів, чи забезпечуєте безпечний доступ за допомогою sshd_config, правильна робота зі сховищем паролів є ключем до запобігання несанкціонованому доступу та захисту даних, розміщених на хостингу.
1. Файл /etc/passwd (інформація про користувача)
Файл /etc/passwd містить список усіх користувачів системи, а також основні дані облікових записів.
Приклад запису в /etc/passwd:
username:x:1001:1001:User Name:/home/username:/bin/bashПояснення полів:
- username: Ім’я користувача для входу в систему.
- x: Заповнювач, який вказує на те, що пароль зберігається в окремому файлі.
- 1001:1001: Ідентифікатор користувача (UID) та ідентифікатор групи (GID).
- Ім’я користувача: Повне ім’я або опис користувача.
- /home/username: Домашній каталог користувача.
- /bin/bash: Командна оболонка за замовчуванням, призначена користувачеві.
2. Файл /etc/shadow (зашифровані паролі)
Linux зберігає фактичні хеші паролів у файлі /etc/shadow, до якого має доступ лише користувач root.
Приклад запису у /etc/shadow:
username:$6$abc123$XYZhashedpassword:18528:0:99999:7:::Пояснення полів:
- $6$: Вказує на алгоритм шифрування (в даному випадку SHA-512).
- abc123: Сіль, яка використовується для хешування пароля.
- XYZhashedpassword: Фактичний хешований пароль.
- 18528: Дата останньої зміни пароля.
- 0:99999:7: Інформація про старіння пароля (мінімальний і максимальний термін дії пароля).
Перевірка алгоритму хешування пароля:
Щоб побачити використаний алгоритм хешування, запустіть:
cat /etc/shadow | grep username3. Файл /etc/group (інформація про групу)
Файл /etc/group містить інформацію про групи користувачів та членство у них.
Приклад запису у файлі /etc/group:
developers:x:1002:username1,username24. Каталог /var/lib/AccountsService/ (Облікові записи користувачів GUI)
У деяких дистрибутивах Linux зберігаються параметри облікових записів користувачів для входу до графічного інтерфейсу:
/var/lib/AccountsService/users/Ці файли містять метадані, такі як імена екранів і налаштування сеансів, але не зберігають паролі.
5. Команди керування паролями
Змінити пароль користувача:
passwd usernameПереглянути інформацію про застарілість пароля:
chage -l usernameЗмушувати користувачів змінювати пароль при наступному вході:
passwd --expire username6. Як Linux захищає паролі
- Хешування та соління: Паролі ніколи не зберігаються у вигляді простого тексту. Замість цього вони хешуються і соляться, щоб запобігти прямому відновленню.
- Доступ тільки для суперкористувача: Доступ до таких файлів, як /etc/shadow, обмежено лише для суперкористувача.
- Модулі автентифікації, що підключаються (PAM): Автентифікацією у Linux керує PAM, який забезпечує дотримання політик безпеки паролів.
Висновок
Linux надійно зберігає облікові дані користувачів у системних файлах, таких як /etc/passwd та /etc/shadow, забезпечуючи зашифрований та обмежений доступ. Розуміння цих механізмів зберігання є важливим для безпеки системи та управління користувачами.


