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

Alternativa correta: E - crw-rwxrw-

Para entender o motivo dessa alternativa estar correta, precisamos compreender alguns conceitos fundamentais sobre permissões e tipos de arquivos no Linux.

No Linux, os arquivos podem ser de diferentes tipos e isso é indicado pelo primeiro caractere do conjunto de permissões. Aqui estão os principais tipos:

  • -: Arquivo regular
  • d: Diretório
  • c: Dispositivo de caractere
  • b: Dispositivo de bloco
  • p: Canal (pipe)
  • l: Link simbólico
  • s: Socket

A questão menciona especificamente um "dispositivo de caractere sem buffer", que é identificado pela letra "c". Isso já nos dá uma dica importante para a resposta correta.

Além disso, o conjunto de permissões no Linux é representado por três grupos de três caracteres cada, e cada caractere pode ser:

  • r (read): Leitura
  • w (write): Escrita
  • x (execute): Execução
  • -: Nenhuma permissão

A questão fornece as permissões no formato numérico 676. Para entender isso, convertemos esses números para o formato simbólico:

  • 6 = 110 em binário = rw-
  • 7 = 111 em binário = rwx
  • 6 = 110 em binário = rw-

Portanto, 676 representa as permissões rw-rwxrw-.

Agora, combinando o tipo de arquivo "c" com essas permissões, obtemos a representação crw-rwxrw-, que corresponde à alternativa E.

Vamos fazer uma análise rápida das outras alternativas para entender por que estão incorretas:

  • A - -rw-rwxrw-: Representa um arquivo regular, mas a questão especifica um dispositivo de caractere.
  • B - urw-rwxrw-: Não é uma representação válida no contexto de permissões de arquivos no Linux.
  • C - drw-rwxrw-: Representa um diretório, que não é o tipo de arquivo mencionado na questão.
  • D - prw-rwxrw-: Representa um canal (pipe), não um dispositivo de caractere.

Portanto, a alternativa correta é E - crw-rwxrw-.

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