Por que a configuração umask
torna 0077
uma chave pública gpg indisponível apt
ao instalar um pacote, por exemplo , .
umask 0077
curl -fsSLo /usr/share/keyrings/brave-browser-beta-archive-keyring.gpg https://brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-beta-archive-keyring.gpg] https://brave-browser-apt-beta.s3.brave.com/ stable main">/etc/apt/sources.list.d/brave-browser-beta.list
apt update
apt install brave-browser-beta
O procedimento acima não funciona, recebo esta saída:
Err:4 https://brave-browser-apt-beta.s3.brave.com stable InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0B31DBA06A8A26F9
Reading package lists... Done
W: GPG error: https://brave-browser-apt-beta.s3.brave.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0B31DBA06A8A26F9
E: The repository 'https://brave-browser-apt-beta.s3.brave.com stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Isso funciona:
umask 0022
curl -fsSLo /usr/share/keyrings/brave-browser-beta-archive-keyring.gpg https://brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-beta-archive-keyring.gpg] https://brave-browser-apt-beta.s3.brave.com/ stable main">/etc/apt/sources.list.d/brave-browser-beta.list
apt update
apt install brave-browser-beta
Por que configurar umask
( 0077
e depois baixar a chave pública) torna uma chave pública gpg indisponível para o apt? A chave foi baixada como root
e executada apt update
, por que então esse problema?
apt
executa operações relacionadas ao download usando um usuário sandbox por padrão,_apt
. Não posso verificar agora, mas é possível que aapt update
verificação da chave também seja feita usando esse usuário, o que significaria que as chaves devem ser legíveis pelo_apt
usuário.Consulte Por que as permissões de diretório estão impedindo o "sudo apt install" de usar um arquivo? para um problema semelhante.