Как я могу узнать, установлен ли мой пароль?

19

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

С тех пор я могу или не могу установить пароль с помощью passwd. Прямо сейчас, если я использую, passwdя вижу это.

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

Хотя кажется, что у меня есть пароль, у меня нет воспоминаний о том, что я когда-либо делал это.

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

РЕДАКТИРОВАТЬ:
я не могу войти или изменить пароль, потому что я не знаю, какой пароль (пустой пароль не работает). Дистрибутив Fedora релиз 20 (Heisenbug).

потолочный кот
источник
Попробуйте войти без пароля (и, конечно, без вашего закрытого ключа ssh).
Didierc
Я не могу войти, потому что я не знаю пароль, и пустое не работает. Я добавил эту информацию в исходный вопрос.
потолочный кот
1
На консоли входа в систему пустой пароль совпадает с паролем без пароля.
Didierc
Вы получите этот запрос пароля, даже если для учетной записи не настроен пароль. Если пароль не настроен, вы passwdбудете жаловаться на неправильный пароль, независимо от того, что вы вводите.
Жиль "ТАК - перестань быть злым"
Я проверял, что на ванильной Fedora 20, использующей локальные теневые пароли, passwdне будет запрашивать ваш текущий пароль, если у вас его нет. Другой способ проверить это набрать su myusername; если нет пароля, он не будет запрашивать его. Но любое из этих действий может быть отменено системным администратором, например, путем удаления nullokопции из pam_unixзаписей в /etc/pam.d/*, и в этом случае не администратор не может определить, кто имеет пароли, а кто нет, за исключением, возможно, проверки времени.
Марк Плотник

Ответы:

31

Лучший способ - с помощью следующей команды:

passwd --status username

От мужчины passwd:

Отображение информации о состоянии учетной записи. Информация о состоянии состоит из 7 полей. Первое поле - это логин пользователя. Второе поле указывает, имеет ли учетная запись пользователя заблокированный пароль (L), не имеет пароля (NP) или имеет пригодный для использования пароль (P). В третьем поле указана дата последнего изменения пароля. Следующие четыре поля - это минимальный возраст, максимальный возраст, период предупреждения и период бездействия для пароля. Эти возрасты выражены в днях.

Итак, если второе поле вывода - это NP, то у этого пользователя не установлен пароль.

jherran
источник
Я получил$ 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.
Джерран
Weird. Мне интересно, если администратор настроил это нестандартным способом.
потолочный кот
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 Release 20 (Heisenbug). Вероятно, следовало бы поместить эту информацию в первоначальный вопрос.
потолочный кот
Ваша ошибка токена имеет тенденцию происходить из-за неправильных разрешений. Вы в одном пользовательском режиме? При загрузке это была нормальная загрузка? Также для проверки типа просто «смонтировать», вы хотите убедиться, что каждая вещь смонтирована как rw (чтение и запись)
Дастин Харгроув
Кроме того, это неправильное разрешение, что это за дистрибутив?
Дастин Харгроув
Я не думаю, что сервер находится в однопользовательском режиме. Я все еще могу войти, используя учетные данные ssh, и я могу видеть других пользователей с who. Все перечисленное в mountсписке указано как rw. Дистро Федора релиз 20 (Гейзенбаг).
потолочный кот
1

Попробуйте использовать следующее:

passwd -S

Со страницы руководства passwd (1) мы читаем:

-S Сообщить о статусе пароля на указанной учетной записи. Первая часть указывает, заблокирована ли учетная запись пользователя (LK), не имеет пароля (NP) или имеет существующий или заблокированный пароль (PS). Вторая часть дает дату последней смены пароля. Следующие части - это минимальный возраст, максимальный возраст, период предупреждения и период бездействия для пароля.

trikelef
источник
0

Вы можете захотеть увидеть файл / etc / passwd. Во втором поле вашего пользователя указан пароль. Если там ничего нет, возможно, у вас нет пароля для входа. С другой стороны, если у вас есть x в этом поле, у вас есть связанный с ним пароль, и он может быть в файле / etc / shadow

dgsleeps
источник
Благодарность! Есть х. Я думаю, у меня есть пароль. Там нет /etc/shadowфайла, хотя.
потолочный кот
1
@ceilingcat Если вы видите x, это ничего не говорит о том, установлен ли пароль. Вам нужно заглянуть внутрь /etc/shadow(что требует наличия прав root).
Жиль "ТАК - перестань быть злым"