usermod для изменения пароля пользователя не работает

Если вы можете изменить данные, чтобы использовать только разделение пробелами (или только ":"), то следующая программа awk может это сделать. Возможно, вам придется подкорректировать ее для улучшения макета.

BEGIN { i = 1; }
$1 != "" { C[$1] = $1; X[$1,i] = $2 ; next; }
{ i++; }
END {
    asort(C);
    for ( k in C ) printf "  %8s\t", C[k];
    printf "\n";
    for ( j = 1; j <= i; j++ ) {
        for ( k in C ) printf "%8s\t",X[C[k],j];
        printf "\n";
    }
}
4
04.09.2016, 19:04
1 ответ

Ожидается, что параметр, заданный для usermod --password , будет зашифрованным паролем, возвращенным функцией crypt () функция. Если вы посмотрите в / etc / shadow (при условии, что вы используете локальное хранилище паролей), вы увидите указанную вами строку, сохраненную как есть в записи myuser ...

Если вы действительно хотите использовать для этого usermod , вы можете сгенерировать соответствующее значение, используя openssl passwd :

usermod --password $(openssl passwd mypwd) myuser

или еще лучше

usermod --password $(openssl passwd -1 mypwd) myuser
12
27.01.2020, 20:48

Теги

Похожие вопросы