SóProvas


ID
1284388
Banca
FCC
Órgão
TRT - 1ª REGIÃO (RJ)
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

No sistema operacional Linux Red Hat, o comando umask é utilizado para definir as permissões padrão utilizadas para os novos arquivos e diretórios criados. Considere que o valor umask é 022. O novo arquivo criado nessas condições terá permissões

Alternativas
Comentários
  • O que é mais comumente usado é 022 (proibindo a permissão de escrita para o grupo e outros), o que assegura que novos arquivos sejam apagados apenas pelo proprietário (i.e. o usuário que o criou). 

  • Daniela Reis , eu marquei de cara letra b , não tinha percebido que 022 era o valor umask no enuciado, agora tava querendo saber como você chegou à resposta, tem como colocar nos comentarios o passo-a-passo?

  • Fernando, eu encontrei como faz no próprio wikipédia: http://pt.wikipedia.org/wiki/Umask se ainda houver dúvida me avise =) Este link tem toda informação.

  • Daniela, fui la no link, mas não entendi, na verdade pelo que entendi lá marcaria a letra c, pois pelo que entendi umask seria o inverso do chmod, já que o que um permitiria o outro proibiria. tem como esclarecer isso por favor?

  • Gostei de um comentário que vi nessa questão http://www.questoesdeconcursos.com.br/questoes/2603f5d6-9b

    Deu certo

    Qcv2_thumb_avatar

    Comentado por Thiago há mais de 2 anos.

    Calcular umask de arquivos:

    Basta subtrair o valor da umask de 7 quandos os números da umask forem impares (1,3,5,7) ou de 6 quando os números da umask forem pares (0, 2, 4 ou 6)

    Exemplo:

    666 (regra) - 022 (umask) = 644 (permissão)
    766 (regra) - 324 (umask) = 442 (permissão)
    676 (regra) - 012 (umask) = 664 (permissão)


  • Valeu Bruno, vou olhar

  • Se você tentou resolver a questão, leu os comentários, mas mesmo assim está confuso, leia: http://www.vivaolinux.com.br/artigo/Calculando-valores-UMASK?pagina=2

  • As permissões são três: r (leitura) w (escrita) x (execução)

    Elas são aplicadas em três blocos (usuário dono) (grupo dono) (outros)

    Exemplo: (rwx) (r_x) (_ _x) - é sem parêntese, só coloquei o parêntese para ficar didático. rwx  r_x  _ _x

    No exemplo o usuário dono tem permissão de leitura, escrita e execução; o grupo dono tem leitura e execução e os demais tem permissão de execução.

    Essas permissões podem ser representadas por números em vez de letras (OCTAL)

    0 = _ (sem direito a nada) 

    4 = r (leitura)

    2 = w (escrita)

    1 = x (execução)

    voltando ao exemplo seria assim

    rwx  r_x  _ _x , substituindo pelos valores teríamos (4+2+1) (4+0+1) (0+0+1)

    (7)(5)(1) = 751, ou seja, cada bloco é representado por um número em vez de três letras.

    Umaks é um valor que é colocado default num arquivo ou diretório (uma história longa, mas o fato é que quando aparecer UMASK você terá que calcular para saber qual a permissão do arquivo/diretório)

    Quando se tratar de DIRETÓRIO a regra é 777 - umask

    777 - 022 = 755

    777 - 324 = 453

    Quando se tratar de ARQUIVO a regra é (se for número impar usa-se 7, nos demais casos 6)

    666 - 022 = 644

    766 - 324 = 442





  • A permissão neste caso não seria a letra C : rwx - r-x -r-x ?

  • Para quem ainda tem alguma dúvida, segue link de um vídeo que explica passo a passo o cálculo das permissões usando umask.


    https://www.youtube.com/watch?v=LyXhMVFtFSo

  • Umasks octais são calculadas via bitwise AND do complemento unitário do argumento (usando bitwise NOT) e o modo de acesso total.


    Ou seja: (permissão) AND NOT(máscara).


    A permissão padrão de arquivos é 666, já o padrão para diretórios é 777.


    Do exemplo ficaria assim:


    máscara (022): 000 010 010

    NOT(máscara): 111 101 101

    permissão(666): 110 110 110

    permissão AND NOT(máscara): 110 100 100

    ou seja = rw- r-- r--


    https://pt.wikipedia.org/wiki/Umask

  • Jeito mais fácil é pensar que o padrão de permissões linux é ligar os flags de permissão, mas no umask, vc liga os flags das permissões que NÃO quer dar ao usuário, e por default, praticamente todo sistema linux não define a permissão de execução aos arquivos. Ou seja, basta vc saber que vc liga os flags das permissões que NÃO quer dar ao arquivo ou diretório no umask. Sendo assim, para umask 022, vc ativou o flag de escrita (w) nos dois últimos conjuntos, então vc tira a escrita dos dois últimos, ficando rw-r--r-- (x n tem em nenhum conjunto pq por default não vai haver permissão de execução nos novos arquivos criados, já para diretórios ela existe).

  • Transformar em Binário e Subtrair a permissão padrão pelo umask desejado:

    Permissão padrão Diretório: 777 = 111 111 111

    Permissão padrão Arquivos:  666 = 110 110 110

    umask 022 = 000 010 010

    110 110 110

    000 010 010

    -----------

    110 100 100 ==> 644 ==> rw- r-- r--

  • Pessoal não complica, simples assim:

    0 = _ (sem direito a nada) 

    4 = r (leitura)

    2 = w (escrita)

    1 = x (execução)

    Permissão padrão Diretório: 777

    Permissão padrão Arquivos:  666

    666 - 022 = 644

  • Permissão de ARQUIVO. Tem que presta atenção no comando da questão.