-
Trata-se de uma questão sobre comandos Linux, especificamente sobre chmod.
O comando da questão pergunta qual o comando para atribuir ao arquivo prova uma permissão total para o proprietário, uma permissão de leitura para o grupo e nenhuma permissão para outros.
Vamos primeiro entender o chmod.
O comando chmod muda as permissões de determinado arquivo ou pasta.
Ele recebe um parâmetro que é uma representação binária das permissões, sendo a permissão dada em 3 grupos: proprietário, grupo e demais usuários, e dentro de cada grupo são dadas permissões de escrita, leitura e execução.
Exemplo, para darmos apenas a permissão de leitura para o proprietário do arquivo, e não dar nenhuma outra permissão a mais ninguém, a permissão ficaria dessa forma:
100 000 000
O primeiro bit do grupo proprietário foi setado para 1, o que significa que ele tem permissão de escrita.
Se quisermos dar permissão apenas de escrita ao grupo e nenhuma outra permissão, a permissão ficaria dessa forma:
000 010 000
Se quisermos dar permissão apenas de escrita para outros usuários, e nenhuma outra permissão, ficaria dessa forma:
000 000 001
Lembrando que essa representação binária, ao formos executar o comando chmod em si devemos usar notação decimal.
Isso posto, o comando pede que seja estabelecida permissão total ao proprietário (os 3 bits estarão representados assim 111), ele quer também conceder permissão de leitura ao grupo (os 3 bits estariam assim 100), por fim, nenhuma permissão aos demais usuários (3 bits setados como 000), ou seja, a permissão desejada, representada nos 3 bits de proprietário, 3 bits de grupo e 3 bits de outros, estaria assim :
111 - 100 - 000
Em decimal isso ai ficaria 740.
Vamos as alternativas.
A) Errado. O chmod 047 estabeleceria outras permissões diferentes da que o comando da questão pediu.
B) Correto. Rodando chmod 740 /prova vai atingir exatamente o que foi solicitado no comando da questão.
C) Errado. Outra forma de se estabelecer as permissões é atribuindo diretamente ao proprietário (u), grupo (g), outros (o). A alternativa estabelece corretamente as permissões de leitura escrita e deleção (rwx) para o proprietário, entretanto atribui permissão de leitura e escrita ao grupo, o que não foi pedido no comando da questão, que pediu apenas leitura (para ficar certo deveria ser g=r).
D) Errado. Essa alternativa atribui corretamente as permissões ao proprietário e ao grupo, entretanto atribui aos outros a mesma permissão do grupo, o que difere do que foi pedido no comando da questão.
Gabarito do Professor: Letra B.
-
chmod
- Altera as permissões que define os direitos dos usuários e dos programas sobre todos os arquivos e diretórios.
- Níveis: dono do arquivo (u), grupo de usuários ao qual pertence o arquivo (g) e o restante (o).
- Cada nível pode ter três tipos de permissões: leitura (read, r), escrita (write, w) e execução (execute, x).
- O sistema garante o acesso de leitura, gravação ou execução dependendo do valor de um bit associado ao arquivo.
- Cada bit pode ter o valor de 0 (remove a permissão) ou 1 (atribui a permissão).
O -rwx-r----- são as permissões do arquivo. As três primeiras são para o dono do arquivo, as três seguintes representam os direitos do grupo e as três últimas dos demais usuários.
Resolução
====== R W X
Usuário 1 1 1
Grupo 1 0 0
Outros 0 0 0
Agora é só converter cada bit para octal = 740
Alternativa: B
-
"Mariana criou um arquivo chamado ''prova'' no diretório raiz do Linux e deseja modificar suas permissões de acesso, para que o proprietário tenha permissão total, o grupo tenha permissão somente leitura e os outros não tenham nenhuma permissão".
R = Read (Leitura) vale 4
W = Write (Escrita/Gravação) vale 2
X = Execute = (Execução) vale 1
Logo, de acordo com o enunciado, temos: -rwxr-----
Acima, temos 10 caracteres no total. Da esquerda para a direita, o primeiro caractere representa o tipo de arquivo, que pode ser uma pasta(representada por "d") ou um arquivo(representado por "-"). O segundo, terceiro e quarto caractere representam as permissões do proprietário, o quinto, sexto e sétimo representam as permissões do grupo e os 3 últimos (oitavo, nono e décimo) representam as permissões de "outros".
Seguindo o enunciado, temos:
Proprietário com permissão total, então ele pode ler, escrever e executar um arquivo (rwx). 4+2+1 = 7;
Grupo com permissão somente leitura (r--). 4+0+0 = 4
"Outros" sem permissões (---). 0+0+0= 0
Alternativa B) chmod 740 /prova