Questão de Sistemas Operacionais — Linux — FUNDATEC 2025
Sistemas Operacionais›Linux
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?
ADar permissão de leitura ao arquivo e executar com sh ./backup.sh para usar o shebang automaticamente.
BDar permissão de escrita e executar ./backup.sh, pois escrita habilita a execução do arquivo.
CExecutar o comando chmod +x backup.sh e rodar o script como ./backup.sh, usando o interpretador do shebang.
DRemover permissão de leitura e executar bash backup.sh, pois a execução não depende de ler o arquivo.
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.
1chmod +x backup.sh
2./backup.sh
3Kernel lê shebang
4Interpretador executa
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Dar permissão de leitura e executar com sh ./backup.shnã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.shremove 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.