The `make install` script, which most users would run via `sudo` to install into `/usr/local`, will use the current umask of the root user when creating certain files and directories. If one uses a restrictive umask by default (e.g. `umask 077`), this means that only the root user will be able to use the full Bitcoin package.

**Expected behavior**

The install script creates all directories and files, including man pages, etc., with permissions `644` / `755`.

**Actual behavior**

Certain folders are created using the default umask, e.g.:

- /usr/local/share/man/man1/
- /usr/local/lib/pkgconfig/
- [...]

This means that only root can access files in these folders and other users won't be able to read the man pages (for example).

**To reproduce**

```bash
$ ./autogen.sh
$ make
$ sudo -iu root
% umask 077
% make install
```

**System information**

OS: Linux
bitcoind version: HEAD
return InitError(_("-reindex-chainstate option is not compatible with -txindex. Please temporarily disable txindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes."));
        }
    }
#if defined(USE_SYSCALL_SANDBOX)
    if (args.IsArgSet("-sandbox") && !args.IsArgNegated("-sandbox")) {
        const std::string sandbox_arg{args.GetArg("-sandbox", "")};
        bool log_syscall_violation_before_terminating{false};
        if (sandbox_arg == "log-and-abort") {
            log_syscall_violation_before_terminating = true;
        } else if (sandbox_arg == "abort") {
            
        } else {
            return InitError(Untranslated("Unknown syscall sandbox mode (-sandbox=<mode>). Available modes are \"log-and-abort\" and \"abort\"."));
        }
        
        const std::vector<std::string> features_using_execve{
            "-alertnotify",
            "-blocknotify",
            "-signer",
            "-startupnotify",
            "-walletnotify",
        };
        for (const std::string& feature_using_execve : features_using_execve) {
            if (!args.GetArg(feature_using_execve, "").empty()) {
                return InitError(Untranslated(strprintf("The experimental syscall sandbox feature (-sandbox=<mode>) is incompatible with %s (which uses execve).", feature_using_execve)));
            }
        }
        if (!SetupSyscallSandbox(log_syscall_violation_before_terminating)) {
            return InitError(Untranslated("Installation of the syscall sandbox failed."));
        }