Permissões de arquivos no Linux: o comando chmod
Gabarito: letra B. O comando chmod a+x file.sh adiciona a permissão de execução (x) para todas as classes de usuários (a = all), ou seja, todos os usuários do sistema passam a poder executar o arquivo. As demais permissões (leitura e escrita) não são alteradas por esse comando.
O comando chmod é a ferramenta padrão do Linux para alterar permissões de arquivos e diretórios. As permissões no Linux são divididas em três classes de usuários: o proprietário (user), o grupo (group) e os demais usuários (others). Para cada classe, existem três permissões básicas: leitura (r), escrita (w) e execução (x). O comando chmod pode ser usado de duas formas principais: simbólica (como no enunciado) e numérica (octal).
Na forma simbólica, a sintaxe é chmod [quem][operador][permissão] arquivo. O campo quem pode ser u (user), g (group), o (others) ou a (all, que representa as três classes). O operador pode ser + (adiciona), - (remove) ou = (define exatamente). A permissão pode ser r, w ou x. Assim, chmod a+x significa: para todas as classes (a), adicionar (+) a permissão de execução (x).
É importante notar que o comando não altera as permissões de leitura ou escrita. Se o arquivo já tinha permissões de leitura para todos, elas permanecem; se não tinha, continuam sem. O comando apenas adiciona a permissão de execução para todos. Portanto, a única afirmação correta é a que diz que todos os usuários podem executar o arquivo.
A permissão de execução em um arquivo significa que ele pode ser executado como um programa ou script. Para que um script seja executado, ele também precisa ter a permissão de leitura (para que o interpretador leia o conteúdo), mas isso é um requisito adicional que não é o foco da questão. A permissão de escrita, por sua vez, permite modificar o conteúdo do arquivo, e a permissão de apagar um arquivo depende das permissões do diretório onde ele está, não do arquivo em si.
A banca explora a confusão entre as três permissões básicas. O candidato que não domina a sintaxe do chmod pode achar que a+x concede todas as permissões, ou que se refere apenas ao proprietário. A pegadinha está em entender que a significa "todos" e x significa apenas "execução".
Alternativa A — ❌ Incorreta
A permissão de leitura (r) não é adicionada pelo comando chmod a+x. O comando apenas adiciona a permissão de execução (x). Para adicionar leitura, seria necessário usar chmod a+r. Portanto, não se pode afirmar que todos os usuários podem ler o arquivo.
Alternativa B — ✅ Correta ⟵ GABARITO
O comando chmod a+x adiciona a permissão de execução (x) para todas as classes de usuários (a = all). Isso significa que todos os usuários do sistema passam a ter a permissão de executar o arquivo file.sh. A alternativa está correta.
Alternativa C — ❌ Incorreta
A permissão de escrita (w) não é adicionada pelo comando. Para alterar o conteúdo do arquivo, seria necessário ter a permissão de escrita, que não foi concedida. O comando chmod a+x não afeta a permissão de escrita.
Alternativa D — ❌ Incorreta
A permissão de apagar um arquivo não é controlada pelas permissões do arquivo em si, mas pelas permissões do diretório onde ele está localizado. Para apagar um arquivo, o usuário precisa ter permissão de escrita e execução no diretório. O comando chmod a+x não altera as permissões do diretório, apenas do arquivo.
Alternativa E — ❌ Incorreta
O comando chmod a+x concede a permissão de execução a todos os usuários, não apenas ao proprietário. A letra a significa "all" (todos), abrangendo proprietário, grupo e outros. Portanto, não é correto afirmar que apenas o usuário que executou o comando terá permissões plenas.
Gabarito: letra B