No GNU/Linux temos os controles de permissões que impedem o acesso indevido de programas e pessoas não autorizadas a determinados arquivos, o que garante um nível de segurança ao sistema. Nesse artigo nos aprofundaremos em tais permissões e no uso dos comandos chmod e umask.
Continuando o artigo, agora vamos usar o modo octal para modificar as permissões de acesso a um arquivo.
Se você entendeu como funciona a permissão pelo modo literal, não vai sentir nenhuma dificuldade no modo octal, vai até achar mais fácil ainda.
Realmente o modo octal não é nenhum bicho de sete cabeças, basta aprender/decorar a tabela abaixo e depois somar os números para definir um tipo de permissão:
Octal
Literal
Função
4
r
Leitura
2
w
Escrita
1
x
Executável
0
-
Não faz nada
Vamos praticar agora o uso do modo octal, lembrando a vocês
que basta somar os números da tabela acima para definir as permissões para o Dono, Grupo, e Outros usuários.
Exemplo: chmod 777 <arquivo>
D : Dono
G : Grupo
O : Outros
$ chmod 777 arquivo.sh
Dá controle total sobre o arquivo para o Dono, Grupo, e outros usuários do sistema.
$ chmod 766 arquivo.sh
Dá acesso total ao dono do arquivo, e o acesso leitura e escrita para os usuário do grupo e outros usuários do sistema.
$ chmod 640 arquivo.sh
Dá acesso de leitura e escrita para o dono do arquivo, para os usuários do grupo o acesso somente a leitura do arquivo e para os outros usuários do sistema nega qualquer tipo de acesso ao arquivo.
[1] Comentário enviado por davidsonpaulo em 03/11/2004 - 18:55h
Interessante, muito interessante. O domínio dessas ferramentas básicas é que distingue um usuário comum de um administrador de sistema.
Só achei muito pobre a explicação sobre o umask, poderia haver mais exemplos, só foi detalhado como dar permissão completa.
Mas de qualquer forma valeu. O importante é a colaboração contínua de todos da comunidade.
Abraços!
[2] Comentário enviado por m4sk4r4 em 04/11/2004 - 01:21h
O Próximo artigo tentarei aborda um pouco mais sobre o umask, mais não tem muita ciencia não. é so para definir um padrão de acesso a arquivos e diretórios criados. um exemplo é um servidor de ftp, onde definimos uma mascara para os uploadfile, ou seja todo arquivo que for jogado no servidor por um usuário vai obter um padrão de acesso sobre o arquivo(r, w x).
Mais valeu ae.
[3] Comentário enviado por engos em 04/11/2004 - 17:22h
Achei muito fraco pelo fato de não ter nenhuma novidade, principalmente porque já tem um artigo tão bom quanto esse aqui no VOL, do qual também não fala nada sobre SUID e SGID.
Gostei de como você escreveu o artigo, dando exemplos e explicando de forma clara, espero ver mais artigos seus e que eles mantenham esse padrão de qualidade.
[10] Comentário enviado por cmelo em 01/08/2006 - 20:57h
Olá Pessoal,
Descobri um maneira de alterar de forma permanete o umask do sistema linux.
Uso o Suse 10.1, e o meu objetivo é que os usuários do grupo users ao criarem um arquivo no OpenOffice por exemplo, automaticamente os outros usuários tenham acesso para modificá-los.
Trabalho em um escritório de advocacia e por isso existe a necessidade real de vários advogados e estagiários alterarem uma mesma petição (arquivo). Como um advogado não teria tempo nem paciência de aprender sobre permissões, simplesmente precisei colocar o umask para 0002 .
Vamos ao que interessa:
altere o umask na seguinte linha no arquivo /etc/profile
# The user file-creation mask
#umask 022
umask 002
Se este bit for ativado, faz com que arquivos criados em um determinado diretório só possam ser apagados por quem o criou (dono) ou pelo super-usuário do sistema. Um exemplo de uso do STICKY é o diretório /tmp.
[15] Comentário enviado por cmelo em 01/10/2007 - 16:02h
Olá Pessoal, postei acima uma forma de alterar o umask definitivamente, porém ao usar o opensuse 10.2, descobri a maneira correta e fácil de fazer essa alteração:
1 - yast -> segurança e usuários -> gerenciamento de grupo -> opçoes de especialista -> padrões para novos usuários -> Alterar a opção Umask para: 002
Ou ir direto no arquivo de configuração indicado no etc/profile que é o arquivo etc/login.defs
2 - alterar o Umask para 002