Em se tratando de permissões de um arquivo em Linux, um a...
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
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
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