summaryrefslogtreecommitdiffstats
path: root/chpass/pw_copy.c
diff options
context:
space:
mode:
Diffstat (limited to 'chpass/pw_copy.c')
-rw-r--r--chpass/pw_copy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/chpass/pw_copy.c b/chpass/pw_copy.c
index 3db04ed..4a1d9a5 100644
--- a/chpass/pw_copy.c
+++ b/chpass/pw_copy.c
@@ -96,6 +96,14 @@ pw_copy(ffd, tfd, pw)
goto err;
}
if (!done)
+#ifdef YP
+ /* Ultra paranoid: shouldn't happen. */
+ if (getuid()) {
+ warnx("%s: not found in %s -- permission denied",
+ pw->pw_name, _PATH_MASTERPASSWD);
+ pw_error(NULL, 0, 1);
+ } else
+#endif /* YP */
(void)fprintf(to, "%s:%s:%d:%d:%s:%ld:%ld:%s:%s:%s\n",
pw->pw_name, pw->pw_passwd, pw->pw_uid, pw->pw_gid,
pw->pw_class, pw->pw_change, pw->pw_expire, pw->pw_gecos,