# umask [NNN] naum entendi

Iniciado por glicodc, 08 de Novembro de 2005, 13:36

tópico anterior - próximo tópico

glicodc

N                Valor (permissão...)
6          sem permissão.
5          Permissão apenas para executar.
4          Permissão apenas para gravar.
3          Permissão para gravar e executar.
2          Permissão apenas para ler.
1          Permissão para executar e ler.
0          Completo – leitura / execução / escrita.

um exemplo
#umask 022 (q é o padrão)

pq são 3 N????
pq nuam poderia ser so #umask 0
sendo q o 0 serve para tudo  
e Ainda depois tem outro 2 e depois outro 2

naum entendi pq utilizam 3 N ao inves de 1?
o q os outros nº tão fazendo?

vlws
**  Eu sou legal  ** To falando serio

Glicão com a bola toda com ubuntu ahauhau

dealer

Usuários - Grupos - Outros

Entende? Chmod segue a mesma linha de raciocínio.
Vossa senhoria não tem envergadura moral para pedir suporte via MP!

"If freedom is short of weapons, we must compensate with willpower." - A. homem

glicodc

**  Eu sou legal  ** To falando serio

Glicão com a bola toda com ubuntu ahauhau

glicodc

chmod so entendi com a outra sintaxe, diferente dessa ae
**  Eu sou legal  ** To falando serio

Glicão com a bola toda com ubuntu ahauhau

dealer

umask 000 dá permissão de leitura/escrita para todos, usuários (primeiro N), grupos (segundo N) e outros (terceiro N).

chmod também, porém as permissões são diferentes, os números que elas representam, mais o raciocínio é o mesmo, por exemplo, chmod 000 em um arquivo não dá permissão de nada pra ninguém.. ;D
Vossa senhoria não tem envergadura moral para pedir suporte via MP!

"If freedom is short of weapons, we must compensate with willpower." - A. homem

glicodc

a ta hauahu agora entendi auhahu
vlws
obrigado
**  Eu sou legal  ** To falando serio

Glicão com a bola toda com ubuntu ahauhau

dealer

Tranquilo, também demorei a entender, fui aprender fuçando em FTP hehehe =D
Vossa senhoria não tem envergadura moral para pedir suporte via MP!

"If freedom is short of weapons, we must compensate with willpower." - A. homem

minholi

Quando você define o valor de um umask os valores devem ser inversos ao valores octais que você usa no chmod, por exemplo:

Valores de permissões no CHMOD (onde U = Usuário, G = Grupo, O = Others e A = Todos (All)):

U | G | O
0   0   0   =   --- --- ---
0   0   1   =   --- --- --x
0   0   2   =   --- --- -w-
0   0   3   =   --- --- -wx
0   0   4   =   --- --- r--
0   0   5   =   --- --- r-x
0   0   6   =   --- --- rw-
0   0   7   =   --- --- rwx

Onde r = leitura, w = gravação e x = execução

Esses valores funcionam assim porque são binários representados em sua forma decimal, por exemplo:

r w x
0 0 1 = 1 binário
0 1 0 = 2 binário
1 0 0 = 4 binário

Dessa forma:

1 1 0 = 6 binário = r w -

Já o umask é a diferença entre o valor da representação decimal da permissão que você quer dar em relação ao número 7 (que é a maior representação possível com 3 dígitos), já que como o nome diz ele é uma mascara que filtra as permissões, assim onde houver um bit marcado como 0 existe permissão para que ele seja setado para 1 pelo chmod:

umask 0 0 1 = 1 binário = permite que arquivos sejam lidos e escritos
umask 0 1 0 = 2 binário = permite que arquivos sejam lidos e executados

A sintaxe do chmod também pode ser usada de forma diferente seguindo a tabela que fiz acima:

chmod u+rw arquivo --> Dá permissão de leitura e gravação para o Usuário que é dono do arquivo.
chmod a+x arquivo --> Dá permissão de execução para todo mundo.
chmod go-rw --> Tira permissões de leitura e gravação de usuários que façam parte do grupo ao qual pertence o arquivo e de outros usuários.

Assim como a forma tradicional do comando chmod:

chmod 700 --> Dá todas as permissões para o Usuário que é dono do arquivo.
chmod 660 --> Dá permissões de leitura e gravação para o dono do arquivo e para o grupo.

galactus

Mandou bem hein minholi!!!! :)

Que aula! To gostando de ver, cada vez mais tem Dr. em Linux aqui nesse Fórum! eheheheh


E o Dealer também!

Nem sabia para que servia e o significado dessa sopa de letrinhas e números.   :D  :D  :D
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

minholi

E tem mais sobre o assunto galactus... O sistema de permissões derivado dos *nix é bem complexo. Tem coisas como stick-bits e outras criaturas das quais nem vale a pena falar, e também tem o fato de que tem uns bytes sobrando no cabeçalho dos arquivos que podem ser usados pra melhorar ainda mais a segurança, ou seja, os engenheiros que criaram isso tudo foram bastante cuidadosos e temos um padrão que dificilmente vai cair em desuso.

ClayTronpical

#10
To precisando aprofundar mais o conhecimento sobre esse assunto alguém tem algum link ou indica alguma outra fonte?

wesleynd

#11
Pessoal show de bola, muito bem explicado!
Já conhecia o chmod e agora vcs me apresentaram o umask. (legal)

vejam minha situação:

# /dev/sda1
UUID=9272db66-f830-4f7c-a35e-96a0e297ac26 /               ext3    defaults,errors=remount-ro 0       1
# /dev/sda5
UUID=32427FE7427FAE6B /media/sda5     ntfs    defaults,nls=utf8,umask=000,gid=46 0       1
# /dev/sda6
UUID=267bf967-a1bb-45ad-9abc-18f723075615 none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0

e só posso acessar os arquivos  em sda5 não consigo criar pasta, colar um arquivo, deletar...!!!  ???
o que está errado?
alguém pode me ajudar? (ubuntu 7.04)
Wesley da Guia