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
for (const auto& client : node.chain_clients) {
        if (!client->verify()) {
            return false;
        }
    }
    
    
    
    
    
    fListen = args.GetBoolArg("-listen", DEFAULT_LISTEN);
    fDiscover = args.GetBoolArg("-discover", true);
    const bool ignores_incoming_txs{args.GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)};
    {
        
        std::vector<bool> asmap;
        if (args.IsArgSet("-asmap")) {
            fs::path asmap_path = args.GetPathArg("-asmap", DEFAULT_ASMAP_FILENAME);
            if (!asmap_path.is_absolute()) {
                asmap_path = gArgs.GetDataDirNet()  asmap_path;
            }
            if (!fs::exists(asmap_path)) {
                InitError(strprintf(_("Could not find asmap file %s"), fs::quoted(fs::PathToString(asmap_path))));
                return false;
            }
            asmap = DecodeAsmap(asmap_path);
            if (asmap.size() == 0) {
                InitError(strprintf(_("Could not parse asmap file %s"), fs::quoted(fs::PathToString(asmap_path))));
                return false;