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
}
        }
    } else {
        LogPrintf("Setting NODE_NETWORK on non-prune mode\n");
        nLocalServices = ServiceFlags(nLocalServices | NODE_NETWORK);
    }
     ********************************************************* Step 11: import blocks
    if (!CheckDiskSpace(gArgs.GetDataDirNet())) {
        InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetDataDirNet()))));
        return false;
    }
    if (!CheckDiskSpace(gArgs.GetBlocksDirPath())) {
        InitError(strprintf(_("Error: Disk space is low for %s"), fs::quoted(fs::PathToString(gArgs.GetBlocksDirPath()))));
        return false;
    }
    int chain_active_height = WITH_LOCK(cs_main, return chainman.ActiveChain().Height());
     On first startup, warn on low block storage space
    if (!fReindex && !fReindexChainState && chain_active_height <= 1) {
        uint64_t additional_bytes_needed{
            chainman.m_blockman.IsPruneMode() ?
                chainman.m_blockman.GetPruneTarget() :
                chainparams.AssumedBlockchainSize() * 1024 * 1024 * 1024};
        if (!CheckDiskSpace(args.GetBlocksDirPath(), additional_bytes_needed)) {
            InitWarning(strprintf(_(
                    "Disk space for %s may not accommodate the block files. " \
                    "Approximately %u GB of data will be stored in this directory."
                ),
                fs::quoted(fs::PathToString(args.GetBlocksDirPath())),
                chainparams.AssumedBlockchainSize()
            ));