瀏覽代碼

Ensure the setgid bit is set in the base directory.

default 3 年之前
父節點
當前提交
392c5147a3
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      utils.c

+ 4 - 1
utils.c

@@ -143,11 +143,14 @@ int snac_init(const char *basedir)
         }
         }
     }
     }
 
 
-    if (mkdir(srv_basedir, 0775) == -1) {
+    if (mkdir(srv_basedir, DIR_PERM) == -1) {
         printf("ERROR: cannot create directory '%s'\n", srv_basedir);
         printf("ERROR: cannot create directory '%s'\n", srv_basedir);
         return 1;
         return 1;
     }
     }
 
 
+    /* force permissions (mkdir also uses 777) */
+    chmod(srv_basedir, DIR_PERM);
+
     xs *udir = xs_fmt("%s/user", srv_basedir);
     xs *udir = xs_fmt("%s/user", srv_basedir);
     mkdir(udir, DIR_PERM);
     mkdir(udir, DIR_PERM);