Як я можу дізнатися, чи встановлено мій пароль?


20

Я використовую цей сервер вже кілька місяців. На початку я надіслав адміністратору свій відкритий ключ ssh, і він створив для мене обліковий запис, і я використовував лише ключ ssh для входу. Спочатку я точно не мав пароля.

З тих пір я, можливо, не можу встановити пароль, використовуючи passwd. Зараз, якщо я використовую, passwdя бачу це.

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

Хоча, здається, це говорить про те, що у мене є пароль, я не маю пам'яті ніколи цього робити.

Як я можу остаточно сказати, чи встановлено мій пароль?

EDIT:
Я не можу ввійти ні змінити пароль, тому що я не знаю, що таке пароль (пустий пароль не працює). Дистрибутив Fedora випуску 20 (Heisenbug).


Спробуйте увійти без пароля (і, звичайно, без приватного ключа ssh).
didierc

Я не можу ввійти, тому що не знаю пароль, а пусте не працює. Цю інформацію я додав у вихідне запитання.
стельовий кіт

1
На консолі входу порожній пароль такий же, як і без пароля.
didierc

Ви отримаєте це запит пароля, навіть якщо для облікового запису не налаштований пароль. Якщо пароль не налаштований, passwdскаржиться на неправильний пароль, незалежно від того, що ви введете.
Жил "ТАК - перестань бути злим"

Я перевірив, що у ванільній Fedora 20, що використовує локальні тіньові паролі, passwdне буде запитувати ваш поточний пароль, якщо у вас його немає. Ще один спосіб перевірки - це набрати su myusername; якщо немає пароля, він не запитуватиме його. Але будь-що з цього може бути замінено системним адміністратором, наприклад, видаливши nullokпараметр із pam_unixзаписів /etc/pam.d/*, у цьому випадку не адміністратор не може сказати, хто має паролі, а хто ні, за винятком можливо, проводячи тести на встановлення часу.
Марк Плотнік

Відповіді:


32

Найкращий спосіб - за допомогою наступної команди:

passwd --status username

Від людини passwd:

Відобразити інформацію про стан облікового запису. Інформація про стан складається з 7 полів. Перше поле - це ім’я користувача для входу. Друге поле вказує, чи обліковий запис користувача має заблокований пароль (L), не має пароля (NP) або має придатний пароль (P). Третє поле вказує дату останньої зміни пароля. Наступні чотири поля - це мінімальний вік, максимальний вік, період попередження та період бездіяльності пароля. Ці віки виражаються в днях.

Отже, якщо друге поле виводу є NP, то для цього користувача не встановлено пароль.


У мене$ passwd --status Only root can do that.
стельовий кіт

У цьому випадку спробуйте sudo passwd username --status.
jherran

Я отримав, $ sudo passwd myusername --status [sudo] password for myusername:але оскільки я не знаю свого пароля, я не можу продовжувати.
стельовий кіт

Я перевірив свою первісну команду і повинен працювати добре з новоствореним користувачем без спеціальних завивки: $ passwd --status testповертається test P 02/15/2015 0 99999 7 -1.
jherran

Дивно. Мені цікаво, чи адміністратор встановив це нестандартним способом.
стельовий кіт

4

Ви можете перевірити це двома простими способами.

  1. Одразу після того, як ви зміните пароль, як тип кореня login, це приведе вас до запиту для входу / пароля.

  2. Залежно від ваших системних шансів ви використовуєте тіньові паролі. Файл, який є у /etc/shawdowвас, ви можете подивитися у цьому файлі, щоб побачити, чи є у вашому обліковому записі якісь зміни.

Ось приклад з обліковим записом без набору паролів:

postgres: :16462:0:99999:7:::

Ось як це може виглядати для користувача з паролем:

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

Зауважте між : :зашифрованим паролем і тим, що в обліковому записі postgres нічого не було


Для №1 я не можу змінити пароль, оскільки не знаю, що таке пароль. Якщо я покладу в бланк, він говорить passwd: Authentication token manipulation error. Для №2 у мене немає /etc/shawdow. Є /etc/shadow, але дозвіл - 000. (не впевнений, чи це має значення) Я забув згадати, що у мене є версія Fedora 20 (Heisenbug). Напевно, мали б поставити ці відомості в оригінальному запитанні.
стельовий кіт

Помилка вашої лексеми, як правило, походить із неправильних дозволів. Ви знаходитесь в одному користувацькому режимі? Коли ви завантажувались, це був звичайний черевик? Крім того, щоб перевірити тип "mount", ви хочете переконатися, що кожна річ встановлена ​​як rw (читати та писати)
Dustin Hargrove

Крім того, що це неправильний дозвіл, що це distro?
Дастін Харгров

Я не думаю, що сервер перебуває в режимі одного користувача. Я все ще можу увійти за допомогою облікових даних ssh і можу бачити інших користувачів who. Все, що перераховано в mount, зазначено як rw. Distro - це версія Fedora 20 (Heisenbug).
стельовий кіт

1

Спробуйте використовувати наступне:

passwd -S

З чоловічої сторінки passwd (1) ми читаємо:

-S Повідомте про стан пароля у вказаному обліковому записі. У першій частині вказується, чи обліковий запис користувача заблоковано (LK), не має пароля (NP), чи є наявний або заблокований пароль (PS). У другій частині вказана дата останньої зміни пароля. Наступні частини - це мінімальний вік, максимальний вік, період попередження та період бездіяльності пароля.


0

Ви можете побачити файл / etc / passwd. Друге поле вашого користувача вказує пароль. Якщо нічого там немає, можливо, у вас не буде пароля для входу. З іншого боку, якщо у вас в цьому полі є х, у вас є пов'язаний з ним пароль, і він може бути у файлі / etc / shadow


Спасибі! Є х. Я думаю, у мене є пароль. /etc/shadowФайлу, однак, немає .
стельовий кіт

1
@ceilingcat Якщо ви побачите анкету x, це нічого не говорить про те, чи встановлено пароль. Вам потрібно заглянути /etc/shadow(що вимагає використання root).
Жил "ТАК - перестань бути злим"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.