Builder de arquivo .netrc
Monta um arquivo ~/.netrc (curl, ftp, git credential) com múltiplas entradas 'machine HOST', login, password e account opcional, mais entrada 'default' única. Avisa sobre passwords com '#' ou espaço (que quebram o parser) e relembra chmod 600.
Adicione entradas (uma por linha) no formato host login password [account] ou default login password.
Sobre o ~/.netrc
O arquivo ~/.netrc é lido por curl, ftp e o git via credential helper para autenticação automática. O parser do curl não suporta espaços nem # dentro dos tokens (esta ferramenta recusa esses caracteres). Após gerar o arquivo, faça chmod 600 ~/.netrc ou as ferramentas se recusam a usá-lo.
O que é o arquivo .netrc
O arquivo .netrc é uma convenção dos anos 1970 para guardar credenciais de login, permitindo que ferramentas de linha de comando autentiquem sem interação. Mora em ~/.netrc (ou %USERPROFILE%\_netrc no Windows), precisa ser legível apenas pelo dono (chmod 600) e é lido por curl (--netrc, --netrc-file), wget, o cliente ftp legado, git (via credential helpers), urllib do Python e URLConnection do Java. É texto puro — isso é a vantagem e o risco de segurança ao mesmo tempo.
Formato do arquivo
Entradas são separadas por linha em branco. Cada uma tem uma linha machine (ou o fallback especial default), um login, uma password e opcionalmente um account. Tokens não podem conter espaço nem #:
machine ftp.exemplo.com
login alice
password s3cret
account financeiro
machine github.com
login alice
password ghp_xxxxxxxxxxxxxxxxxxxx
default
login anonymous
password [email protected]
A entrada default é o fallback para qualquer host não listado explicitamente. A diretiva macdef definia macros de FTP e está obsoleta — evite.
Trade-offs de segurança e alternativas modernas
O arquivo é texto puro. Quem o lê, lê suas senhas — backup mal configurado, repositório de dotfiles compartilhado, notebook roubado. Alternativas mais fortes são keystores do SO: macOS Keychain, GNOME Keyring / KWallet no Linux, Windows Credential Manager. O CLI gh usa keyring no lugar do .netrc. Para uso em time e servidor, HashiCorp Vault, AWS Secrets Manager, Doppler e 1Password CLI são o caminho moderno. Em CI, GitHub Actions e GitLab CI injetam segredos como variáveis de ambiente — Docker tem mount dedicado de secrets. Use .netrc para tokens pessoais e de curta duração; rotacione com frequência.
Boas práticas
chmod 600 ~/.netrclogo após criar — caso contrário curl se recusa a ler.- Nunca commite o arquivo no git ou em repositório de dotfiles.
- Use personal access tokens curtos, não senhas de longa duração.
- Rotacione tokens periodicamente — trimestral para baixo risco, mensal para produção.
- Criptografe o volume da home (FileVault, LUKS) para que disco roubado não revele o arquivo.
- Use
--netrc-file /caminho/custom.netrcseparado por projeto quando contextos divergirem.
Perguntas frequentes
Devo versionar .netrc no git? Não. Nunca. Adicione .netrc ao .gitignore global (git config --global core.excludesfile ~/.gitignore_global) para não vazar por engano.
.netrc ainda é usado em 2026? Sim, em fluxos legados de curl, wget e FTP, e como atalho para scriptar APIs privadas no shell. Softwares novos preferem keychains do SO e tokens OIDC.
Por que precisa do chmod 600? curl, ftp e a maioria das libs recusa ler um arquivo com permissão de grupo ou outros, justamente para não vazar credencial por acidente.
Algum dado é enviado a um servidor? Não. O arquivo é montado no seu navegador e escrito no bloco de saída — nada é enviado.
Ferramentas Relacionadas
Gerador de comando tar
Monte comandos tar (criar, extrair, listar) com compressão (gz/bz2/xz/zst), preservar permissões e exclusões.
Builder de SSML (Speech)
Monte documentos SSML (Speech Synthesis Markup) compatíveis com Alexa, Google e Polly com tags break, prosody, emphasis, phoneme e voice.
OKR Builder (1 Objetivo + 3 KR)
Monta OKR formatado: 1 objetivo qualitativo + 3 key results quantitativos.