Quais são as permissões corretas para a pasta de inclusão do .gnupg? gpg: ATENÇÃO: inseguro ao incluir permissões de diretório no arquivo de configuração

12

Eu não quero apenas chmod e executar até obter a resposta correta, nem quero rodar o GnuPG como root. O conserto fácil seria apenas configurá-lo para que apenas meu usuário possa lê-lo, mas não acho que seja o melhor caminho.

Eu recebo o seguinte erro quando tento usar o gpg:

gpg: WARNING: unsafe enclosing directory permissions on configuration file '/home/nb/.gnupg/gpg.conf'
gpg: external program calls are disabled due to unsafe options file permissions
gpg: keyserver communications error: general error
gpg: keyserver receive failed: general error

Status atual do ~/.gnupg/ do GnuPG:

% stat .gnupg 
  File: ‘.gnupg’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 1bh/27d Inode: 20578751    Links: 3
Access: (0775/drwxrwxr-x)  Uid: ( 1000/      nb)   Gid: ( 1000/      XXXX)
Access: 2015-08-09 18:14:45.937760752 -0700
Modify: 2015-08-05 20:54:32.860883569 -0700
Change: 2015-08-05 20:54:32.860883569 -0700
 Birth: -

A resposta no link a seguir informa 600 permissões para o arquivo ~/gnupg/gpg.conf , mas a pasta envolvente também requer essas permissões?

link

    
por Nathan Basanese 10.08.2015 / 03:30

3 respostas

30

Sim, você também precisará corrigir as permissões do diretório incluído ~/.gnupg

Como um invasor com direitos suficientes na pasta pode manipular o conteúdo da pasta.

Execute os seguintes comandos:

  1. Verifique se a pasta + conteúdo pertence a você:
    chown -R $(whoami) ~/.gnupg/

  2. Direitos de acesso corretos:
    chmod 600 ~/.gnupg/* e chmod 700 ~/.gnupg

Explicação para 600 , 700 :

Vamos começar pela parte de trás: "00" significa NÃO ter direitos para TODOS para todos que não são os proprietários dos arquivos / diretórios.

Isso significa que o processo de leitura destes (gnupg) deve ser executado como o proprietário desses arquivos / diretórios.

~/.gnupg/ é uma pasta, o processo de leitura do conteúdo deve ser capaz de "entrar" (= executar) esta pasta. Este é o bit "x". Tem o valor "1". 7 - 6 = 1

Tanto ~/.gnupg/ quanto ~/.gnupg/* você deseja ler e escrever, isso é 4 + 2 = 6 .

== > Somente o proprietário dos arquivos pode ler / gravar agora (= 600). Só ele pode entrar no diretório também (= 700)

== > Esses direitos de arquivo não "precisam" ser documentados, eles são derivados do uso pretendido.

Mais informações sobre a notação de permissão: link

    
por 10.08.2015 / 05:06
5

Por padrão, o GnuPG impõe privilégios de acesso seguro, o que significa que mais ninguém (mas você) pode acessar seu diretório base do GnuPG ~/.gnupg . Esses privilégios de acesso muitas vezes não são rigorosos o suficiente depois de copiar o diretório home do GnuPG de outra máquina, e muitas vezes a propriedade errada é o motivo de tal mensagem.

# Set ownership to your own user and primary group
chown -R "$USER:$(id -gn)" ~/.gnupg
# Set permissions to read, write, execute for only yourself, no others
chmod 700 ~/.gnupg
# Set permissions to read, write for only yourself, no others
chmod 600 ~/.gnupg/*

Se você (por algum motivo) criou suas próprias pastas dentro de ~/.gnupg , você também deve aplicar permissões de execução a essa pasta. As pastas requerem privilégios de execução para serem abertas.

    
por 10.08.2015 / 10:43
4

Embora Jens Erat já tenha mencionado isso em sua última frase, eu acho que deve ser enfatizado que qualquer pasta dentro de ~ / .gnupg deve ser executável (modo 700) também. Isso vale especialmente para a pasta private-keys * que é criada pelo próprio gpg. Eu estava preso com problemas de permissão por um tempo antes de perceber isso.

    
por 13.12.2017 / 09:56