O Que É chmod? Alterando Permissões de Arquivo
chmod (change mode) é o comando Unix que modifica os bits de permissão de um arquivo, controlando quem pode lê-lo, escrevê-lo ou executá-lo.
chmod é como você altera permissões de arquivo no Unix. Você pode tornar um script executável, restringir um arquivo de segredos, ou abrir um diretório. Em CI, o uso mais comum é chmod +x para adicionar o bit de execução a um script, para que ele possa ser rodado diretamente, corrigindo um erro frequente de "permission denied".
O que o chmod faz
chmod define os bits de leitura, escrita e execução de um arquivo para o dono, grupo e outros. Ele aceita notação simbólica (como +x) ou notação octal numérica (como 755).
Notação simbólica
chmod +x script.shadiciona o bit de execução para todas as classes.chmod u+w fileadiciona escrita apenas para o dono.chmod go-r secretremove leitura para grupo e outros.
Notação numérica
O modo numérico define todos os bits de uma vez: chmod 755 script.sh dá rwx ao dono e r-x ao grupo e outros, enquanto chmod 600 key restringe uma chave privada apenas à leitura e escrita do dono.
Mudanças recursivas
Adicionar -R aplica o chmod a uma árvore de diretórios. Use com cuidado: chmod -R 777 em um projeto é um sinal de alerta de segurança, concedendo a todos acesso total a cada arquivo.
chmod em CI
Quando uma etapa roda ./build.sh e encontra "permission denied", adicionar chmod +x build.sh antes normalmente corrige. Melhor ainda, commite o arquivo com o bit de execução definido para que o chmod seja desnecessário.
Corrigindo permissões em runners gerenciados
Nos runners da Latchkey, chmod +x torna um script executável de forma confiável dentro de uma etapa. Para arquivos sensíveis como chaves escritas durante um job, use modos restritivos como 600 para limitar o acesso.
Principais conclusões
- chmod altera os bits de permissão de leitura, escrita e execução de um arquivo.
- Ele aceita notação simbólica (
+x) ou numérica (755). - Em CI,
chmod +xé a correção comum para um script não executável.