Questão de Sistemas Operacionais — Scripts em Unix e Linux — VUNESP 2023
Sistemas Operacionais›Scripts em Unix e Linux
Código
vu197339
Banca
VUNESP
Órgão
EPC
Ano
2023
Cargo
Ana ( )
Um usuário de sistema operacional Ubuntu, ao utilizar o comando ls –l no terminal em um diretório contendo um arquivo, observou as seguintes informações relacionadas às permissões do arquivo: – r w x r w – r – – Assinale a alternativa contendo um comando completo chmod que pode ser utilizado em um arquivo (ex: file.sh) para deixá-lo com as mesmas permissões.
Achmod 764 file.sh
Bchmod 321 file.sh
Cchmod 731 file.sh
Dchmod a=rwx file.sh
Echmod a=r file.sh | chmod a=w file.sh
Revelar gabarito e comentário▾
GabaritoA — chmod 764 file.sh
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: notação simbólica e octal
Gabarito: letra A. A string -rwxrw-r-- representa, na notação simbólica, as permissões do proprietário (rwx), do grupo (rw-) e dos demais usuários (r--). Convertendo cada grupo de três bits para o valor octal correspondente (r=4, w=2, x=1), obtemos 7, 6 e 4, resultando no comando chmod 764 file.sh. Essa é a conversão direta entre a notação simbólica e a numérica, que é o que a questão cobra.
O comando chmod (change mode) é o utilitário do Linux/Unix 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 (user, representado por u), o grupo (group, g) e os demais usuários (others, o). Para cada classe, existem três permissões básicas: leitura (read, r), escrita (write, w) e execução (execute, x). Na saída do comando ls -l, essas permissões aparecem como uma sequência de dez caracteres: o primeiro indica o tipo de arquivo (no caso, - para arquivo comum), e os nove seguintes são as permissões, agrupadas de três em três: dono, grupo e outros.
A notação octal (ou numérica) representa cada grupo de três permissões como um dígito de 0 a 7, onde cada permissão tem um valor: leitura = 4, escrita = 2, execução = 1. A soma desses valores indica quais permissões estão ativas. Por exemplo, rwx = 4+2+1 = 7, rw- = 4+2+0 = 6, e r-- = 4+0+0 = 4. Assim, a string -rwxrw-r-- corresponde ao número octal 764. O comando chmod 764 file.sh aplica exatamente essas permissões ao arquivo.
A pegadinha desta questão está em confundir a ordem das classes ou os valores de cada permissão. A banca pode trocar o valor da escrita (2) pelo da execução (1), ou inverter a ordem dono/grupo/outros. Por isso, é essencial memorizar a tabela de conversão e sempre verificar se o primeiro dígito corresponde ao dono, o segundo ao grupo e o terceiro aos demais usuários.
Guarde a correspondência entre a notação simbólica e a octal: é exatamente essa conversão que separa a alternativa correta das demais.
Permissões Linux (ls -l): Classes (Dono (u), Grupo (g), Outros (o)); Permissões (Leitura (r = 4), Escrita (w = 2), Execução (x = 1)); Notação octal (rwx = 7, rw- = 6, r-- = 4, -rwxrw-r-- = 764)
Alternativa A — ✅ Correta ⟵ GABARITO
O comando chmod 764 file.sh define as permissões do dono como rwx (7), do grupo como rw- (6) e dos demais como r-- (4), que é exatamente o que a string -rwxrw-r-- indica. A conversão é direta: cada trio de permissões vira um dígito octal.
Alternativa B — ❌ Incorreta
O comando chmod 321 file.sh resultaria nas permissões -wx-w---x, o que não corresponde à string original. O valor 3 (escrita + execução) não representa rwx, e o valor 1 (apenas execução) não representa r--. A banca troca os valores das permissões, mas a conversão correta é 7-6-4.
Alternativa C — ❌ Incorreta
O comando chmod 731 file.sh resultaria em -rwx-wx--x, que também não corresponde. O valor 3 no grupo (escrita + execução) e o valor 1 nos demais (apenas execução) estão incorretos. A conversão correta para rwxrw-r-- é 764, não 731.
Alternativa D — ❌ Incorreta
O comando chmod a=rwx file.sh daria permissão total (leitura, escrita e execução) para todas as classes (dono, grupo e outros), resultando em -rwxrwxrwx. Isso difere da string original, que não concede execução ao grupo nem aos demais. A alternativa confunde a notação simbólica com a octal, mas não reproduz as permissões pedidas.
Alternativa E — ❌ Incorreta
O comando chmod a=r file.sh | chmod a=w file.sh é inválido por dois motivos: primeiro, o uso do pipe (|) entre comandos chmod não é a forma correta de encadear alterações de permissão — o correto seria usar chmod com múltiplas expressões ou executar comandos separados com ;. Segundo, mesmo que fosse executado, o resultado final seria -rw-rw-rw- (leitura e escrita para todos), não -rwxrw-r--. A alternativa mistura notação simbólica com um operador inadequado.