Різниця між ! проти !! vs * в / etc / тінь


38

Друге поле у /etc/shadowфайлі Linux представляє пароль. Однак, що ми бачили, це те, що:

  1. Деякі поля паролів можуть мати одне вигук

    <account>:!:.....
    
  2. У деяких полях пароля може бути подвійний вигук

    <account>:!!:.....
    
  3. У деяких полях пароля може бути знак зірочки

    <account>:*:.....
    

Деякими дослідженнями в Інтернеті та через цю тему я можу зрозуміти, що *означає, що пароль ніколи не встановлений, !означає заблокований.

Чи може хтось пояснити, що означає подвійний вигук ( !!)? і чим він відрізняється від ( !)?


Який розподіл ви використовуєте?
муру

Привіт Муру, я новачок в Unix і намагаюся створити сценарій, який працюватиме на RHEL 6.6 та HP-UX B.11.23
JavaTec

3
"За умовою, акаунти, на які не передбачається входити в систему (наприклад, бін, демон, sshd), містять лише одну зірочку в полі пароля. Зауважте, що в '*' немає нічого особливого, це лише один з багатьох символів який не може виникнути у дійсно зашифрованому паролі (див. крипту (3)). " - Меню сторінки OpenBSD для passwd (5) . Я б очікував! або !! технічно не відрізнятися, чи є це дійсним файлом passwd, або щодо входу в систему. Однак деякі інструменти можуть мати спеціальну підтримку.
TOOGAM

1
Не використовуйте doco BSD в якості посилань для цього. Їх база даних облікових записів обробляє речі по-різному і навіть не має /etc/shadowфайлу. Не ставте відповіді і в коментарі . ☺
JdeBP

Відповіді:


31

Обидва "!" і "!!" присутність у полі пароля означає, що обліковий запис заблоковано.

Як можна прочитати в наступному документі, "!!" в обліковому записі в тіні означає, що обліковий запис користувача був створений, але ще не вказаний пароль. Поки sysadmin не отримав початковий пароль, він за замовчуванням блокується.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/System_Administration_Guide/s2-redhat-config-users-process.html


4
Це може бути вірно в системах Red Hat, але не обов'язково в іншому місці - на Ubuntu або Arch Linux, новоствореної облікового запису без пароля до сих пір тільки !, що не !!.
муру

2
Дійсно, що я ніколи не бачив "!!" в системі Debian. Я б здогадався, що ОП використовує якусь систему на базі RH, або SuSE.
Rui F Ribeiro

Дякую за швидкі відповіді, чи може вищезгадане пояснення, яке надає Rui, добре і для hp-ux?
JavaTec

4
@JavaTec Не обов’язково: я думаю, що всі уніаки, у яких є, є одне /etc/shadowі те ж поле, але те, як поле зберігає інформацію про не паролі, змінюється. Перевірте документацію HP-UX, починаючи з shadowдовідкової сторінки.
Жиль "ТАК - перестань бути злим"

1
HP-UX не було навіть /etc/shadowвідносно недавно: перед HP-UX 11.11 параметри були або класичним безтіньовим, /etc/passwdабо "Довіреною базою обчислень", яка зберігала хеші паролів кожного користувача та іншу інформацію облікового запису в окремих іменованих файлах /tcb/files/auth/<initial>/<username>, що читаються лише коренем. У HP-UX 11.11 /etc/shadowбула представлена ​​як додаткова додаткова версія, в 11.23 вона була опцією в базовій ОС, а в 11.31 TCB остаточно припинилася.
telcoM

10

Можливо, варто також зазначити, <account>::.....що пароля немає (порожній пароль).

Якщо ви створюєте користувача, призначений лише для ssh, ви можете <account>::0:0:99999:7:::вимагати, щоб користувач встановив свій пароль (тобто, який він використовує для sudo) під час першого входу.


8
Остерігайся цього. Порожнє поле означає, що пароля немає, і вам потрібно просто натиснути ENTER для входу, принаймні на консолі.
Rui F Ribeiro

З man shadowщодо зашифрованого поля пароля: «Це поле може бути порожнім, в цьому випадку паролів не потрібно для аутентифікації зазначеного імені користувача.» <- Залишання цього поля emtpy призводить до відкритого рахунку, і цього дійсно слід уникати!
Лаас

Зауважте, що багато реалізацій SSH за замовчуванням блокують вхід в облікові записи з недійсними паролями: sudo /usr/sbin/sshd -T| grep emptyreturn: "writeemptypasswords no"
Брайан Хантлі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.