diff options
Diffstat (limited to 'usr/src/lib/libzonecfg/common/getzoneent.c')
-rw-r--r-- | usr/src/lib/libzonecfg/common/getzoneent.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr/src/lib/libzonecfg/common/getzoneent.c b/usr/src/lib/libzonecfg/common/getzoneent.c index c75ce2f096..c623152933 100644 --- a/usr/src/lib/libzonecfg/common/getzoneent.c +++ b/usr/src/lib/libzonecfg/common/getzoneent.c @@ -308,6 +308,8 @@ putzoneent(struct zoneent *ze, zoneent_op_t operation) (void) unlock_index_file(lock_fd); return (Z_TEMP_FILE); } + (void) fchmod(tmp_file_desc, ZONE_INDEX_MODE); + (void) fchown(tmp_file_desc, ZONE_INDEX_UID, ZONE_INDEX_GID); if ((tmp_file = fdopen(tmp_file_desc, "w")) == NULL) { (void) close(tmp_file_desc); err = Z_MISC_FS; @@ -454,7 +456,6 @@ putzoneent(struct zoneent *ze, zoneent_op_t operation) goto error; } tmp_file = NULL; - (void) chmod(tmp_file_name, 0644); if (rename(tmp_file_name, path) == -1) { err = errno == EACCES ? Z_ACCES : Z_MISC_FS; goto error; |