Втрачений пароль для користувача на сервері Linux: Як його скинути?


17

На сервері користувач 16040 втратив пароль. Я маю пароль для root, але не маю пароля для користувача 16040. Як я можу скинути його?

З passwd 16040, Unix запитайте у мене поточний пароль, якого у мене немає. Чи існує команда для скидання пароля користувача без поточного пароля?

passwd 16040
Changing password for 16040.
Current password for 16040@friesbie.com:

Відповіді:


24

Якщо ви запустите passwd 16040як root, вам не буде запропоновано поточний пароль.

Після зміни пароля слід розглянути питання про видачу chage -d 0 16040. Це встановлює останню дату зміни пароля далеко в минулому; якщо припустимо, що у вашій системі термін дії паролів закінчується, це змусить користувача змінити свій пароль після входу в систему. Це надає їм можливість вибрати лише відомий їм пароль.


3

Вам слід видати passwd 16040як root ( sudo passwd 16040якщо ваш користувач знаходиться у файлі sudoers), щоб змінити свій пароль. Він не запитає вас про поточний.

Або якщо у вас є фізичний доступ до вікна, ви можете додати init=/bin/bashяк параметр ядра, щоб отримати доступ до кореня, а потім видати passwd 16040.


3
Надання підказок вбудованих команд є досить дивним, і його можна легко витлумачити як частину команди. Будь ласка, використовуйте лише підказки в котируваннях блоків. Крім того, # >це досить рідко, і тут >просто пропонується неправильно трактувати як частину команди - звичайна практика - це використання простого #для root-shells і $для не-root.
Андреас Візе

Ти маєш рацію, я відредагував свою відповідь заради ясності. Спасибі.
пеперунас

1

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

  • sudo /usr/bin/passwd 16040.
  • sudo -i і після /usr/bin/passwd 16040

Я припускаю, що passwdце в / usr / bin (ви можете підтвердити за допомогою команди which passwd)


sudo bashдля запуску rootоболонки - це, хоча поширене) насправді, дуже погана sudoпрактика. Це sudo -sабо sudo -i(не-вхід або оболонка входу, відповідно). Це навіть вшановує встановлену вами оболонку за замовчуванням, /etc/passwdне піклуючись про неї самостійно. Крім того, bashбез повного шляху сама по собі є поганою ідеєю, оскільки це був би один з перших підроблених бінарних файлів, який зловмисник зможе покласти десь $PATH.
Андреас Візе

Я погоджуюся щодо повної специфікації шляху та використання sudo -i, і тому я змінив відповідь ... але якщо ви говорите про безпеку та можливість прихованого трояна, $PATHможливо, краще уникати використання, sudo -sоскільки ви додаєте принаймні $USER/binкаталог та всі псевдоніми, які ви можете собі уявити ... :-)
Hastur

Хороший момент, але залежить від sudoконфігурації: конфігурація за замовчуванням, що постачається sudo, не зберігає встановлену $HOMEзмінну, таким чином, ви отримаєте власні rc-файли, а не $SUDO_USERтакі.
Андреас Візе
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.