Можно ли сделать копию файла для резервного копирования пароля пользователя, а затем восстановить его, скопировав их обратно?
Кажется, что рассматриваемый файл /etc/shadow
соответствует http: // en.wikipedia.org/wiki/Passwd#Shadow_file
Мое намерение - временно изменить пароль пользователя, sudo passwd user
. Оригинальный пароль мне неизвестен. Затем я восстановил бы его до первоначального пароля, заменив файл /etc/shadow
предыдущей копией. Т.е.
sudo cp /etc/shadow /etc/shadow.backup
sudo passwd user
sudo cp /etc/shadow.backup /etc/shadow
sudo rm /etc/shadow.backup
Возможно ли это или я испорчу аккаунт?
Пока никаких других изменений не происходит в /etc/shadow
или /etc/passwd
, это должно работать просто великолепно. Если пользователь добавляется, удалил или изменил, и затем Вы восстанавливаете старую версию, может быть проблема. Если можно гарантировать, что никто не сделает операций, включающих /etc/passwd
, или /etc/shadow
это будет в порядке.
можно также отредактировать /etc/shadow
, скопировать зашифрованный пароль, где-нибудь безопасный, сделать изменение пароля, и затем при необходимости задержанный пароль к тому, каково это было. Тем путем Вы не должны касаться ничего больше.
# Obtain the old password and save it in a file
echo $(sudo grep $USER /etc/shadow | cut -f 2 -d ':') >/safe/encrypted-pass
# Here, change the password, do whatever you need, then..
sudo usermod -p $(cat /safe/encrypted-pass) $USER
Примечание, что -p
опция к usermod
"не рекомендуется, потому что пароль (или зашифрованный пароль) будет видим пользователями, перечисляющими процессы". Так Вам решать, если это - риск, который касается Вас.
я предпочитаю использовать команды, чтобы сделать этот вид управления, но можно выполнить то же самое вручную с простым текстовым редактором.