Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — FUNDATEC 2025

Sistemas OperacionaisLinux
Código
qa701227
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Cargo
ANC ( )
Um profissional da computação acessa um Linux e precisa executar diretamente (como programa) o script backup.sh que está no diretório atual, ainda sem permissões adequadas. Qual é o procedimento mínimo para execução?
  1. ADar permissão de leitura ao arquivo e executar com sh ./backup.sh para usar o shebang automaticamente.
  2. BDar permissão de escrita e executar ./backup.sh, pois escrita habilita a execução do arquivo.
  3. CExecutar o comando chmod +x backup.sh e rodar o script como ./backup.sh, usando o interpretador do shebang.
  4. DRemover permissão de leitura e executar bash backup.sh, pois a execução não depende de ler o arquivo.
  5. EMarcar o diretório como executável com o comando chmod -x backup.sh e rodar backup.sh sem ./, porque a execução é resolvida pela herança do diretório.
Revelar gabarito e comentário

GabaritoC — Executar o comando chmod +x backup.sh e rodar o script como ./backup.sh, usando o interpretador do shebang.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Execução de scripts no Linux: permissões e shebang

Gabarito: letra C. Para executar diretamente um script como programa, é necessário conceder a permissão de execução (x) ao arquivo — com chmod +x backup.sh — e então invocá-lo com ./backup.sh, momento em que o kernel lê a primeira linha (shebang) para escolher o interpretador. A permissão de leitura também é exigida, pois o interpretador precisa ler o conteúdo do arquivo.

O Linux (e o Unix em geral) controla o acesso a arquivos por meio de três classes de usuários — dono (user), grupo (group) e outros (others) — e três permissões básicas: leitura (r), escrita (w) e execução (x). Para executar um arquivo como programa, o sistema exige que a permissão de execução esteja definida para a classe do usuário que o invoca. Além disso, o kernel precisa ler o arquivo para identificar o interpretador (shebang) e passá-lo como argumento; por isso, a permissão de leitura também é necessária. O diretório onde o arquivo está também deve ter permissão de execução (x) para que o usuário possa acessar o inode do arquivo — requisito que já é satisfeito no diretório atual, pois o usuário consegue navegar até ele.

O comando chmod +x backup.sh adiciona o bit de execução para todas as classes (dono, grupo e outros), mantendo as demais permissões inalteradas. Depois disso, ./backup.sh executa o script diretamente: o kernel abre o arquivo, lê a primeira linha — que deve conter o shebang, como #!/bin/bash — e invoca o interpretador indicado, passando o caminho do script como argumento. Esse é o procedimento mínimo e correto.

A alternativa C é a única que descreve exatamente esse fluxo. As demais cometem erros conceituais: confundem leitura com escrita, ignoram a necessidade do bit de execução, ou propõem comandos que não fazem sentido (como chmod -x para "marcar o diretório como executável").

NÃO CAIA NESSA!

A banca explora a confusão entre as permissões de arquivo e de diretório, e entre leitura e execução. Muitos candidatos acham que basta dar permissão de leitura e usar sh (alternativa A), ou que escrita habilita execução (alternativa B). O ponto central é: para executar diretamente, o arquivo precisa do bit x; e, como o interpretador precisa ler o conteúdo, o bit r também é necessário. A alternativa E ainda inverte o comando (chmod -x remove execução) e sugere que a execução é resolvida por "herança do diretório", o que não existe.

  1. 1chmod +x backup.sh
  2. 2./backup.sh
  3. 3Kernel lê shebang
  4. 4Interpretador executa
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Dar permissão de leitura e executar com sh ./backup.sh não é o procedimento mínimo para execução direta como programa. O comando sh invoca explicitamente o interpretador, ignorando o shebang — o que funciona, mas não é o que o enunciado pede ("executar diretamente como programa"). Além disso, sem o bit de execução, o arquivo não pode ser executado como ./backup.sh. O erro está em confundir "executar via interpretador" com "executar diretamente".

Alternativa B — ❌ Incorreta

Dar permissão de escrita não habilita a execução. A permissão w permite modificar o conteúdo do arquivo, mas não executá-lo. Para executar, é necessário o bit x. A alternativa confunde as permissões: escrita é para modificar, execução é para rodar.

Alternativa C — ✅ Correta ⟵ GABARITO

chmod +x backup.sh adiciona a permissão de execução ao arquivo. Em seguida, ./backup.sh executa o script diretamente: o kernel lê o shebang (primeira linha, ex.: #!/bin/bash) e invoca o interpretador correto. Esse é exatamente o procedimento mínimo e correto para execução direta.

Alternativa D — ❌ Incorreta

Remover a permissão de leitura impede a execução direta, pois o interpretador precisa ler o conteúdo do script. Além disso, bash backup.sh invoca o interpretador explicitamente, não executa o arquivo como programa. A afirmação de que "a execução não depende de ler o arquivo" é falsa: o kernel precisa ler o shebang e o interpretador precisa ler o script.

Alternativa E — ❌ Incorreta

chmod -x backup.sh remove a permissão de execução, não a adiciona. Além disso, a execução não é resolvida por "herança do diretório" — cada arquivo tem suas próprias permissões. E rodar backup.sh sem ./ só funciona se o diretório atual estiver no PATH, o que não é garantido e não é o procedimento mínimo descrito.

Gabarito: letra C

Link permanente: /questoes/qa701227