Внесены изменения в существующий код:
day=$(date +%d-%b-%y)
awk -v var=$day 'BEGIN{cmd="date +%s.%6N -d "} {gsub(/[][]/,"");a=varFS$1;cmd a|getline var1;print var1;}' file
Большинство Linux, которые я видел, настроены так, что passwd
не запрашивает root
старый пароль:
root@xxx ~# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Даже если passwd
запрашивает его, вы можете попробовать chpasswd
или отредактировать /etc/passwd
и /etc/shadow
вручную (хэш пароля — это второе поле, длинное заполнение символов между двумя двоеточиями )Просто сначала нужно вычислить хэш, openssl
— это всего лишь один из инструментов для этого:
$ echo foobar | openssl passwd -1 -stdin
$1$G/nr44th$wn16q7ITSvfrNq4amDfzn1
(Вероятно, вам не следует использовать хэш $1$
на основе MD5
-, но это не имеет значения, поскольку, по крайней мере, после сброса хэша до известного значения вы можете использовать passwd
для его изменения.)