diff options
author | default <nobody@localhost> | 2023-07-09 20:23:38 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2023-07-09 20:23:38 +0200 |
commit | d2aa5727baf8b17f99d0ffc041b225463bd2684d (patch) | |
tree | 2c2a48478f7b1ae5c66ea6d46bb4c6d9254ca7d7 /snac.c | |
parent | c562a4531c438b4848f569d2c3901708b7bbce43 (diff) |
Fixed failed mkdir() in restricted environments.
Diffstat (limited to 'snac.c')
-rw-r--r-- | snac.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -35,8 +35,13 @@ int mkdirx(const char *pathname) { int ret; - if ((ret = mkdir(pathname, DIR_PERM)) != -1) - ret = chmod(pathname, DIR_PERM); + if ((ret = mkdir(pathname, DIR_PERM)) != -1) { + /* try to the set the setgid bit, to allow system users + to create files in these directories using the + command-line tool. This may fail in some restricted + environments, but it's of no use there anyway */ + chmod(pathname, DIR_PERM_ADD); + } return ret; } |