summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/gen/getpwent.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/libc/gen/getpwent.c b/lib/libc/gen/getpwent.c
index ec8b5bc..ae0b177 100644
--- a/lib/libc/gen/getpwent.c
+++ b/lib/libc/gen/getpwent.c
@@ -941,13 +941,15 @@ nis_map(char *domain, enum nss_lookup_type how, char *buffer, size_t bufsize,
int rv, order;
*master = 0;
- if (snprintf(buffer, bufsize, "master.passwd.by%s",
- (how == nss_lt_id) ? "uid" : "name") >= bufsize)
- return (NS_UNAVAIL);
- rv = yp_order(domain, buffer, &order);
- if (rv == 0) {
- *master = 1;
- return (NS_SUCCESS);
+ if (geteuid() == 0) {
+ if (snprintf(buffer, bufsize, "master.passwd.by%s",
+ (how == nss_lt_id) ? "uid" : "name") >= bufsize)
+ return (NS_UNAVAIL);
+ rv = yp_order(domain, buffer, &order);
+ if (rv == 0) {
+ *master = 1;
+ return (NS_SUCCESS);
+ }
}
if (snprintf(buffer, bufsize, "passwd.by%s",
(how == nss_lt_id) ? "uid" : "name") >= bufsize)
OpenPOWER on IntegriCloud