diff --git a/passwd.c b/passwd.c index 8427e12..a69ce1e 100644 --- a/passwd.c +++ b/passwd.c @@ -25,6 +25,7 @@ main(int argc, char *argv[]) char *cryptpass1 = NULL, *cryptpass2 = NULL, *cryptpass3 = NULL; char *p; char template[] = "/tmp/pw.XXXXXX"; + uid_t uid; struct passwd *pw; int ffd, tfd; int r; @@ -44,6 +45,10 @@ main(int argc, char *argv[]) else if (!pw) eprintf("who are you?\n"); + uid = getuid(); + if (uid == 0) + goto newpass; + switch (pw->pw_passwd[0]) { case '!': case '*':