Як змінити паролі облікового запису в Linux

Паролі були основою захисту облікових записів протягом шести десятиліть, їх використання почалося навіть раніше, ніж з’явилася Unix. Давайте розглянемо, як використовувати командний рядок або графічне середовище GNOME для управління паролями в операційній системі Linux.

Як створити надійний пароль

Потреба в комп’ютерних паролях виникла з практичної необхідності. З появою багатокористувацьких систем, стало очевидно, що потрібно розділяти та захищати персональні дані. Паролі стали рішенням цієї проблеми.

І до сьогодні паролі залишаються найпоширенішим методом автентифікації. Двофакторна та багатофакторна автентифікація посилюють захист паролем, а біометрична автентифікація пропонує альтернативний спосіб ідентифікації. Проте, старий добрий пароль все ще використовується і, ймовірно, буде актуальним ще довгий час. Тому важливо знати, як правильно їх створювати та використовувати. Деякі застарілі методи вже не є ефективними.

Ось декілька основних принципів, яких варто дотримуватися при створенні паролів:

Використовуйте парольні фрази, а не окремі паролі. Фраза з трьох-чотирьох не пов’язаних слів, об’єднаних розділовими знаками, символами або цифрами, є набагато складнішою для зламу, ніж випадковий набір символів або пароль із заміною голосних на цифри.

Не використовуйте один і той самий пароль в різних системах.

Нікому не розголошуйте свої паролі. Паролі є особистою інформацією.

Не створюйте паролі на основі особистих даних. Уникайте використання імен членів сім’ї, спортивних команд, улюблених гуртів або будь-якої іншої інформації, яку можна отримати з ваших профілів у соціальних мережах.

Не створюйте паролі на основі типових послідовностей на клавіатурі, таких як qwerty або 1q2w3e.

Політика періодичної зміни паролів більше не вважається оптимальною. Якщо ви використовуєте надійні парольні фрази, то їх слід змінювати лише в разі підозри на витік. Регулярна зміна пароля може змусити користувачів використовувати простіші паролі, додаючи до них дату чи цифру.

Національний інститут стандартів і технологій опублікував багато матеріалів щодо паролів, ідентифікації та аутентифікації користувачів. Їхні рекомендації доступні у Спеціальній публікації 800-63-3: Рекомендації щодо цифрової аутентифікації.

Файл passwd

В історичному плані Unix-подібні операційні системи зберігали паролі разом з іншою інформацією про облікові записи у файлі “/etc/passwd”. Сьогодні цей файл все ще містить дані про облікові записи, але зашифровані паролі зберігаються у файлі “/etc/shadow”, доступ до якого обмежений. На відміну від цього, будь-хто може переглянути файл “/etc/passwd”.

Щоб переглянути вміст файлу “/etc/passwd”, введіть наступну команду:

less /etc/passwd

Відобразиться вміст файлу. Давайте розглянемо деталі облікового запису користувача “Марія”.

Кожен рядок представляє окремий обліковий запис (або програму, яка має користувацький обліковий запис). Є сім полів, розділених двокрапками:

Ім’я користувача: ім’я, яке використовується для входу в систему.

Пароль: “x” вказує на те, що пароль зберігається у файлі /etc/shadow.

Ідентифікатор користувача: ідентифікатор користувача для цього облікового запису.

Ідентифікатор групи: ідентифікатор групи для цього облікового запису.

GECOS: Це абревіатура від General Comprehensive Operating System. Сьогодні поле GECOS містить розділений комами набір даних про обліковий запис, наприклад, повне ім’я, номер кімнати або номери офісних і домашніх телефонів.

Home: шлях до домашнього каталогу користувача.

Shell: програма, яка запускається при вході користувача в систему.

Порожні поля позначаються двокрапками.

До речі, команда `finger` отримує інформацію з поля GECOS.

finger mary

Тіньовий файл

Щоб переглянути вміст файлу “/etc/shadow”, потрібно використовувати команду `sudo`:

sudo less /etc/shadow

З’явиться вміст файлу. Для кожного запису у файлі “/etc/passwd” повинен бути відповідний запис у файлі “/etc/shadow”.

Кожен рядок представляє окремий обліковий запис, і є дев’ять полів, розділених двокрапками:

Ім’я користувача: ім’я для входу в обліковий запис.

Зашифрований пароль: зашифрована версія пароля.

Остання зміна: дата останньої зміни пароля.

Мінімальна кількість днів: мінімальна кількість днів, яку потрібно почекати між змінами пароля. Користувач повинен почекати цю кількість днів, перш ніж зможе змінити пароль. Якщо це поле дорівнює нулю, то пароль можна змінювати будь-коли.

Максимальна кількість днів: максимальна кількість днів, через які пароль потрібно буде змінити. Зазвичай це поле містить дуже велике значення. У випадку з користувачем “mary” це 99999 днів, тобто понад 27 років.

Дні попередження: кількість днів до закінчення терміну дії пароля, за які користувачеві буде показано повідомлення-нагадування.

Період відстрочки: після закінчення терміну дії пароля система чекатиме цю кількість днів, перш ніж обліковий запис буде деактивовано.

Дата закінчення терміну дії облікового запису: дата, коли користувач більше не зможе ввійти в систему. Якщо це поле порожнє, термін дії облікового запису ніколи не закінчується.

Зарезервоване поле: порожнє поле для майбутнього використання.

Порожні поля позначаються двокрапками.

Перетворення поля “Остання зміна” в дату

Епоха Unix почалася 1 січня 1970 року. Значення поля “Остання зміна” становить 18209. Це кількість днів після 1 січня 1970 року, коли пароль користувача “mary” був змінений.

Щоб переглянути значення “Остання зміна” як дату, використайте цю команду:

date -d "1970-01-01 18209 days"

Дата відобразиться як опівніч дня, коли пароль був останній раз змінений. В цьому прикладі це було 9 листопада 2019 року.

Команда passwd

Команда `passwd` використовується для зміни пароля, а за наявності прав sudo, можна змінювати паролі інших користувачів.

Щоб змінити свій пароль, використовуйте команду `passwd` без параметрів:

passwd

Вам потрібно буде ввести старий пароль, а потім два рази ввести новий пароль.

Зміна пароля іншого користувача

Щоб змінити пароль іншого облікового запису, використовуйте команду `sudo` та вкажіть ім’я облікового запису:

sudo passwd mary

Вам потрібно ввести свій пароль для підтвердження прав суперкористувача. Потім введіть новий пароль для облікового запису, а потім введіть його ще раз для підтвердження.

Примусова зміна пароля

Щоб змусити користувача змінити пароль при наступному вході в систему, скористайтеся параметром `-e` (expire):

sudo passwd -e mary

З’явиться повідомлення про зміну терміну дії пароля.

Коли користувач “mary” наступного разу увійде в систему, їй доведеться змінити свій пароль:

Блокування облікового запису

Щоб заблокувати обліковий запис, введіть команду `passwd` з параметром `-l` (lock):

sudo passwd -l mary

З’явиться повідомлення про зміну терміну дії пароля.

Користувач більше не зможе увійти в систему, використовуючи свій пароль. Щоб розблокувати обліковий запис, скористайтеся параметром `-u` (unlock):

sudo passwd -u mary

Знову з’явиться повідомлення про зміну даних про закінчення терміну дії пароля:

Знову ж таки, користувач не зможе увійти в систему за допомогою пароля. Однак вона все ще зможе увійти, використовуючи інші методи аутентифікації, наприклад, ключі SSH. Якщо ви хочете заблокувати доступ до комп’ютера, потрібно встановити термін дії облікового запису.

Команда chage

Ця команда означає “змінити вік”. Команда `chage` дозволяє встановити термін дії для всього облікового запису.

Давайте переглянемо поточні налаштування облікового запису “mary” з опцією `-l` (list):

sudo chage -l mary

Термін дії облікового запису встановлено на “ніколи”.

Щоб змінити термін дії, скористайтеся параметром `-E` (expire). Якщо встановити його на нуль, це буде інтерпретовано як “нуль днів з епохи Unix”, тобто 1 січня 1970 року.

Введіть наступне:

sudo chage -E0 mary

Знову перевірте термін дії облікового запису:

sudo chage -l mary

Оскільки термін дії вже минув, цей обліковий запис тепер дійсно заблокований, незалежно від методу аутентифікації, який може використовувати користувач.

Щоб відновити обліковий запис, використайте ту саму команду з параметром `-1`:

sudo chage -E -1 mary

Ще раз перевірте, ввівши:

sudo chage -l mary


Термін дії облікового запису знову встановлено на “ніколи”.

Зміна пароля облікового запису в GNOME

Ubuntu та інші дистрибутиви Linux використовують GNOME як середовище робочого столу за замовчуванням. Ви можете змінити пароль облікового запису через вікно налаштувань.

Для цього в системному меню натисніть значок “Налаштування”.

У вікні “Налаштування” зліва виберіть “Деталі”, а потім натисніть “Користувачі”.

Натисніть на обліковий запис, для якого потрібно змінити пароль. У цьому прикладі ми виберемо “Мері Квін”. Натисніть на обліковий запис, а потім на “Розблокувати”.

Вам буде запропоновано ввести пароль. Після аутентифікації дані користувача “Мері” стануть доступними для редагування. Натисніть поле “Пароль”.

У вікні “Змінити пароль” виберіть опцію “Встановити пароль зараз”.

Введіть новий пароль в полях “Новий пароль” та “Підтвердити новий пароль”.

Якщо введені паролі збігаються, кнопка “Змінити” стане активною. Натисніть її, щоб зберегти новий пароль. Інші середовища робочого столу надають подібні інструменти для управління обліковими записами.

Будьте в безпеці, залишайтеся в безпеці

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

Саме тому важливо розумно їх використовувати. Розуміючи механізми паролів у Linux та використовуючи надійні методи їх створення, ви зможете забезпечити безпеку своєї системи.