Em se tratando de permissões de um arquivo em Linux, um a...

Próximas questões
Com base no mesmo assunto
Q275446 Sistemas Operacionais
Em se tratando de permissões de um arquivo em Linux, um arquivo que representa um dispositivo de caractere sem buffer com permissões 676 é apresentado como
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: O enunciado traz dois elementos decisivos: “dispositivo de caractere sem buffer” e “permissões 676”. Pela base técnica, isso resulta em c + rw- + rwx + rw-, isto é, crw-rwxrw-. Como a base registra conflito técnico objetivo entre essa representação e o gabarito oficial informado, a resposta deve manter a letra B por força do gabarito oficial, sem afirmar conformidade técnica da alternativa.

Tema central: Tipo de arquivo e permissões Linux
Análise das alternativas
A
Errada
Incorreta porque, embora rw-rwxrw- corresponda corretamente ao octal 676, o primeiro caractere - indica arquivo regular. O enunciado exige dispositivo de caractere, cujo marcador é c. O erro está no tipo de arquivo.
B
Certa
A alternativa B é a resposta a ser mantida apenas porque a base fixa esse é o gabarito oficial. Tecnicamente, porém, a base esclarece que a representação correspondente ao enunciado é crw-rwxrw-, de modo que a letra B não coincide com a notação padrão do Linux. Assim, a manutenção de B decorre do gabarito informado, não da equivalência técnico-conceitual.
C
Errada
Incorreta porque a letra inicial d indica diretório. O enunciado não trata de diretório, mas de dispositivo de caractere sem buffer. As permissões estão compatíveis com 676, mas o tipo do arquivo está tecnicamente errado.
D
Errada
Incorreta porque a letra p identifica FIFO ou named pipe. Isso não corresponde a dispositivo de caractere. O critério que elimina a alternativa é a distinção entre tipos de arquivo na notação simbólica Linux.
E
Errada
Do ponto de vista técnico-conceitual, esta é a representação correta: c indica dispositivo de caractere e 676 se converte em rw-rwxrw-, formando crw-rwxrw-. Ainda assim, deve ser tratada como incorreta nesta correção porque diverge do gabarito oficial fornecido.
Pegadinha da questão
A confusão real está em separar o primeiro caractere, que indica o tipo do arquivo, das nove posições seguintes, que representam as permissões. O octal 676 define apenas rw-rwxrw-; o fato de ser dispositivo de caractere é que exige o c inicial.
Dica para questões semelhantes
  • Converta primeiro cada dígito octal em tríade de permissões: 6 = rw- e 7 = rwx.
  • Trate o primeiro caractere separadamente: ele indica o tipo do arquivo e não faz parte da conversão numérica.
  • Para dispositivo de caractere, o marcador técnico é c; não confunda com - de arquivo regular, d de diretório ou p de pipe nomeado.
  • Se a alternativa tecnicamente compatível divergir do gabarito oficial, registre o conflito em vez de forçar correção técnica inexistente.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A composição do número octal usado é feita analizando sua representação binária. Para representar cada algarismo de um número octal são necessários 3 algarismos binários. Logo o número octal de 3 algarismos usado pelo chmod será representado por um binário de 9. Cada grupo de 3 algarismos binários representa um dos níveis entre usuário (u), grupo (g) e outros (o), e cada um dos 3 algarismos ou bits de cada grupo representa um tipo de permissão entre leitura (r), do Inglês 'read', gravação (w), do Inglês 'write' e execução (x), do Inglês 'execute', onde um '1' indica permissão cedida e um '0', permissão negada.

Ex.:

		$ chmod 750 arquivo.txt

No exemplo o número 750 está escrito na forma octal. Sua forma binária seria 111101000. O 7 é a forma octal do binário '111' e representa todas as permissões (leitura, escrita e execução) para o proprietário (user) do arquivo 'arquivo.txt'. O 5 é a forma octal do binário 101 e representa as permissões de leitura e execução para o grupo, e por fim, 0 representa a negação de todas as permissões para outros.

Nível  u   g   oPermissão rwx r-x ---  Binário 111 101 000    Octal  7   5   0
		Para arquivos (-)rwx 000  0  (zero) permissão negada001  1   permissão de execução010  2   permissão de gravação011  3   permissão de gravação e execução100  4   permissão de leitura101  5   permissão de leitura e execução110  6   permissão de leitura e gravação111  7   soma de todas as permissões
		Para diretórios (d)rwx000  0  (zero) permissão negada001  1   permissão para entrar no diretório010  2   permissão para gravar dentro do diretório011  3   permissão de entrar e gravar no diretório100  4   permissão para listar o conteúdo do diretório101  5   permissão de listar e entrar no diretório110  6   permissão de listar e gravar no diretório111  7   soma de todas as permissões

Há uma maneira muito fácil de se converter números binários para octais. Basta somar os valores relativos dos algarismos. Exemplo: sabendo se que os valores absolutos de cada algarismo em 111 são respectivamente 4, 2 e 1, se os somarmos chegaremos a 7. Já em 000, temos 000, e como soma, 0.


http://pt.wikipedia.org/wiki/Chmod
u = Dispositivo de caractere sem buffer
Símbolo Descrição - Arquivo regular d Diretório l Link c Dispositivo de caractere u Dispositivo de caractere sem buffer s Arquivo Socket p FIFO, Named Pipe b Dispositivo de bloco

Questão nula. O "u" é uma opção sinônimo de "c" em algumas versões do mknod, o comando que cria esses arquivos especiais.

Veja o que o man (documentação oficial) fala sobre esse comando,, na versão 8.21:

 Both MAJOR and MINOR must be specified when TYPE is b,  c,  or  u,  and
  they  must be omitted when TYPE is p.  If MAJOR or MINOR begins with 0x
  or 0X, it is interpreted as hexadecimal; otherwise, if it  begins  with
  0, as octal; otherwise, as decimal.  TYPE may be:

  b  create a block (buffered) special file

  c, u  create a character (unbuffered) special file

  p  create a FIFO


Outra manpage abaixo que coloca o c como sinônimo do u... Itens B e E são verdadeiros.

http://manpages.ubuntu.com/manpages/precise/pt/man1/mknod.1.html

       O argumento seguinte ao nome especifica o tipo de arquivo a ser criado:

              p      para um FIFO

              b      para um arquivo especial de bloco (com buffer)

              c      para um arquivo especial de caractere (sem buffer)

       A versao GNU do mknod permite o sinonimo u (`sem buffer') para c.

A questão não foi anulada, pois esta CORRETA

Tem gente falando que o c,u representa "Dispositivo de caractere sem buffer" mas isso só é valido para o comando mknod versão GNU.

Quando falamos de chmod, é a seguinte regra.

Símbolo = Descrição

- = Arquivo regular

d = Diretório

l = Link

c = Dispositivo de caractere

u = Dispositivo de caractere sem buffer

s = Arquivo Socket

p = FIFO, Named Pipe

b = Dispositivo de bloco


Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo