summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
Diffstat (limited to 'source3/utils')
-rw-r--r--source3/utils/interact.c7
-rw-r--r--source3/utils/net_usershare.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/source3/utils/interact.c b/source3/utils/interact.c
index 6d753dd012..f8fed6de19 100644
--- a/source3/utils/interact.c
+++ b/source3/utils/interact.c
@@ -25,6 +25,7 @@
*/
#include "includes.h"
+#include "system/filesys.h"
#include "interact.h"
@@ -79,8 +80,12 @@ char* interact_edit(TALLOC_CTX* mem_ctx, const char* str) {
char buf[128];
char* ret = NULL;
FILE* file;
+ mode_t mask;
+ int fd;
- int fd = mkstemp(fname);
+ mask = umask(S_IRWXO | S_IRWXG);
+ fd = mkstemp(fname);
+ umask(mask);
if (fd == -1) {
DEBUG(0, ("failed to mkstemp %s: %s\n", fname,
strerror(errno)));
diff --git a/source3/utils/net_usershare.c b/source3/utils/net_usershare.c
index 382fe2f250..78d38daaf9 100644
--- a/source3/utils/net_usershare.c
+++ b/source3/utils/net_usershare.c
@@ -642,6 +642,7 @@ static int net_usershare_add(struct net_context *c, int argc, const char **argv)
uid_t myeuid = geteuid();
bool guest_ok = false;
int num_usershares;
+ mode_t mask;
us_comment = "";
arg_acl = "S-1-1-0:R";
@@ -895,7 +896,9 @@ static int net_usershare_add(struct net_context *c, int argc, const char **argv)
}
/* Create a temporary filename for this share. */
+ mask = umask(S_IRWXO | S_IRWXG);
tmpfd = mkstemp(full_path_tmp);
+ umask(mask);
if (tmpfd == -1) {
d_fprintf(stderr,