Skip to content
Latchkey

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.sh adiciona o bit de execução para todas as classes.
  • chmod u+w file adiciona escrita apenas para o dono.
  • chmod go-r secret remove 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.

Guias relacionados