Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2023

Sistemas OperacionaisLinux
Código
vu197383
Banca
VUNESP
Órgão
Pref SP
Ano
2023
Cargo
AFTM SP
No sistema operacional Linux, dentre as alternativas a seguir, o comando que tem a finalidade de retirar as permissões de leitura, escrita e execução de todos os arquivos do diretório corrente, recursivamente, daqueles usuários que não são donos dos arquivos e nem pertencem ao grupo associado a cada arquivo é:
  1. Achmod -R 077 *
  2. Bchmod -R 007 *
  3. Cchmod protect all
  4. Dchmod recursive protect *
  5. Echmod -R o-rwx *
Revelar gabarito e comentário

GabaritoE — chmod -R o-rwx *

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”.

Permissões de arquivos no Linux: o comando chmod

Gabarito: letra E. O comando chmod -R o-rwx * retira as permissões de leitura, escrita e execução da classe "outros" (o) de todos os arquivos do diretório corrente, recursivamente (-R), exatamente como pede o enunciado. A sintaxe do chmod combina a classe de usuário (u, g, o, a), a operação (+ para adicionar, - para remover, = para definir) e as permissões (r, w, x).

O chmod é o comando do Linux responsável por alterar as permissões de acesso a arquivos e diretórios. As permissões são organizadas em três classes de usuários: o dono (u, de user), o grupo (g, de group) e os outros (o, de others). Cada classe pode ter três permissões: leitura (r, de read), escrita (w, de write) e execução (x, de execute). A permissão de leitura permite visualizar o conteúdo do arquivo ou listar o diretório; a de escrita permite modificar o arquivo ou criar/remover arquivos no diretório; a de execução permite rodar o arquivo como programa ou acessar o diretório.

A sintaxe simbólica do chmod segue o padrão [classe][operador][permissões]. As classes são u (dono), g (grupo), o (outros) e a (todos). Os operadores são + (adiciona), - (remove) e = (define exatamente). As permissões são r, w e x. Assim, o-rwx significa "remover das permissões da classe outros as permissões de leitura, escrita e execução". A opção -R (ou --recursive) aplica a alteração recursivamente a todos os arquivos e subdiretórios a partir do diretório corrente. O * é um curinga que seleciona todos os arquivos e diretórios do diretório atual.

A alternativa E é a única que combina corretamente os três elementos: a classe o (outros), a operação de remoção - e as permissões rwx, além da recursividade -R. As demais alternativas ou usam a notação numérica incorreta, ou não existem como sintaxe válida do chmod. A pegadinha da banca está em confundir a notação simbólica com a numérica e em trocar a classe "outros" por outras classes ou por valores que não correspondem ao pedido.

Guarde a estrutura chmod [opções] [classe][operador][permissões] [arquivo] e a correspondência entre a notação simbólica e a numérica: é exatamente nessa fronteira que as alternativas se dividem.

1Classes
u (dono)
g (grupo)
o (outros)
a (todos)
2Operadores
+ (adiciona)
- (remove)
= (define)
3Permissões
r (leitura)
w (escrita)
x (execução)
4Notação numérica
r=4, w=2, x=1
Define conjunto completo
chmod
LEVELsoulevel.com.br
chmod: Classes (u (dono), g (grupo), o (outros), a (todos)); Operadores (+ (adiciona), - (remove), = (define)); Permissões (r (leitura), w (escrita), x (execução)); Notação numérica (r=4, w=2, x=1, Define conjunto completo)

Alternativa A — ❌ Incorreta

chmod -R 077 * usa a notação numérica (octal). O valor 077 significa que o dono (primeiro dígito) fica com permissão 0 (nenhuma), o grupo (segundo dígito) fica com 7 (rwx) e outros (terceiro dígito) fica com 7 (rwx). Ou seja, em vez de remover as permissões de outros, este comando define as permissões do dono como nenhuma e mantém/define as do grupo e de outros como rwx. Além disso, o 0 à esquerda é apenas um indicador de modo octal, não uma permissão. O comando não atende ao pedido porque não remove as permissões de outros — na verdade, ele as define como rwx.

Alternativa B — ❌ Incorreta

chmod -R 007 * também usa notação numérica. O valor 007 significa dono com 0 (nenhuma), grupo com 0 (nenhuma) e outros com 7 (rwx). Este comando define as permissões de outros como rwx, em vez de removê-las. Além disso, zera as permissões do dono e do grupo, o que não é o que o enunciado pede. A notação numérica não é adequada para "remover" permissões de uma classe específica sem afetar as demais — ela sempre define o valor completo das três classes.

Alternativa C — ❌ Incorreta

chmod protect all não é uma sintaxe válida do comando chmod. O chmod não aceita palavras como "protect" ou "all" como argumentos. A sintaxe correta usa classes (u, g, o, a), operadores (+, -, =) e permissões (r, w, x), ou a notação numérica octal. Este comando simplesmente não existe e geraria um erro de sintaxe no shell.

Alternativa D — ❌ Incorreta

chmod recursive protect * também não é uma sintaxe válida. O chmod não aceita a palavra "recursive" como argumento; a opção correta para recursividade é -R (ou --recursive). Além disso, "protect" não é um argumento válido. Este comando não existe e não produziria o efeito desejado.

Alternativa E — ✅ Correta ⟵ GABARITO

chmod -R o-rwx * é a sintaxe correta. A opção -R aplica a alteração recursivamente. O argumento o-rwx significa: na classe o (outros), remover (-) as permissões rwx (leitura, escrita e execução). O * seleciona todos os arquivos e diretórios do diretório corrente. Assim, o comando remove as permissões de leitura, escrita e execução de todos os arquivos do diretório atual, recursivamente, para todos os usuários que não são donos e não pertencem ao grupo associado a cada arquivo — exatamente o que o enunciado pede.

NÃO CAIA NESSA!

A banca mistura a notação simbólica com a numérica. Na notação numérica, chmod 077 define as permissões (dono=0, grupo=7, outros=7), não "remove" permissões de uma classe específica. Para remover apenas de "outros", a notação simbólica o-rwx é a correta. Cuidado para não confundir o 0 à esquerda do octal com uma permissão — ele é apenas um marcador de modo.

PEGA ESSA DICA!

Para resolver questões de chmod, identifique primeiro: (1) a classe afetada (u, g, o, a), (2) a operação (+ adiciona, - remove, = define), (3) as permissões (r, w, x) e (4) a recursividade (-R). Na notação simbólica, - remove apenas as permissões listadas; na numérica, o valor define o conjunto completo de cada classe. Memorize a tabela: r=4, w=2, x=1, e some para obter o valor octal de cada classe.

Gabarito: letra E

Link permanente: /questoes/vu197383