Linux - Permissões de acesso especiais

O controle de acesso em arquivos e diretórios é a segurança fundamental para qualquer sistema multi-usuário. Os sistemas de arquivos nativos do Linux implementam controle de acesso utilizando algumas propriedades dos arquivos/diretórios.

[ Hits: 173.476 ]

Por: Roberto Rodrigues da Silva em 17/11/2006


Sticky (Sticky bit)



Em arquivos executáveis, a propriedade Sticky faz com que o sistema mantenha uma imagem do programa em memória depois que o programa finalizar. Esta capacidade aumenta o desempenho, pois será feito um cache do programa para a memória e da próxima vez que ele for executado, será carregado mais rápido.

Em diretórios, a propriedade Sticky impede que outros usuários deletem ou renomeam arquivos dos quais não são donos. Isso normalmente é utilizado para aumentar a segurança, pois o diretório estará em modo append-only (somente incremente). Sendo assim, somente o usuário que é Dono do arquivo, poderá deletar ou renomear os arquivos dentro de um diretório com a propriedade Sticky aplicada.

A permissão especial Sticky pode ser especificada somente no campo outros usuários das permissões de acesso.

Exemplo:

No diretório /tmp, todos os usuários devem ter acesso para que seus programas possam criar os arquivos temporários, mas nenhum pode apagar arquivos dos outros.

Então é interessante aplicar a propriedade Sticky no diretório /tmp.

Comandos:

Aplicando Sticky:

Aplicando a propriedade Sticky em um arquivo executável utilizando formato octal (1):

# chmod 1750 programa_pesado.sh
# ls -lah programa_pesado.sh

-rwxr-x--T 1 root root 2,9M 2006-09-26 23:51 programa_pesado.sh

Aplicando a propriedade Sticky em um arquivo executável utilizando formato simbólico (t):

# chmod o+t programa_pesado.sh
# ls -lah programa_pesado.sh

-rwxr-x--T 1 root root 2,9M 2006-09-26 23:51 programa_pesado.sh

Aplicando a propriedade Sticky em um diretório utilizando formato simbólico (t):

# chmod o+t /tmp
# ls -lah /tmp

drwxrwxrwt 8 root root 264 2006-09-26 23:22 .

Aplicando a propriedade Sticky em um diretório utilizando formato octal (1):

# chmod 1777 /tmp
# ls -lah /tmp

drwxrwxrwt 8 root root 264 2006-09-26 23:22 .

Retirando Sticky:

# chmod o-t /tmp
# ls -lah /tmp

drwxrwxrwx 8 root root 264 2006-09-26 23:22 .

Procurando Sticky:

Aplicando a propriedade Sticky em um diretório utilizando simbólico (t):

# find /home/roberto/ -perm /o=t
/home/roberto/programa_pesado.sh

Aplicando a propriedade Sticky em um diretório utilizando formato octal (1):

# find /home/roberto/ -perm -1000
/home/roberto/programa_pesado.sh

Referência:
  • Guia Foca Linux - Permissões especiais
  • LPI Linux Certification in a Nutshell
  • IBM DeveloperWorks - Linux LPI - Tópico 104.

Recursos:
Página anterior    

Páginas do artigo
   1. Lembrando como as permissões básicas funcionam
   2. Permissões de acesso especiais
   3. SUID (Set User ID)
   4. SGID (Set Group ID)
   5. Sticky (Sticky bit)
Outros artigos deste autor

Linux - Sistema de arquivos

Verificando e marcando badblocks

Linux - Manipulando partições de disco

Linux - Quota de disco

Python - Brincando com arquivos

Leitura recomendada

Introdução a criptografia

Race condition - vulnerabilidades em suids

Sudoers 1.8.12 - Parte II - Manual

Servidor de logs em Debian Linux

Seguraça extrema com LIDS

  
Comentários
[1] Comentário enviado por removido em 17/11/2006 - 09:35h

Parabéns... Belo artigo e indispensável.

:::... Viva o Linux ...:::

[2] Comentário enviado por removido em 17/11/2006 - 09:44h

Ah cara valeu, sempre tinha dúvida quanto a isso. Abraços.

[3] Comentário enviado por Raptor em 18/11/2006 - 16:13h

Parabéns pelo artigo.

[4] Comentário enviado por tenchi em 19/11/2006 - 12:02h

Artigo muito esclarecedor... Com ele resolvi alguns problemas com permissões aki...

[5] Comentário enviado por lulu.campos em 19/11/2006 - 16:15h

gostei. vai me ajuda muito. parabens.

[6] Comentário enviado por rick2600 em 20/11/2006 - 01:39h

rpz... ja sabia sobre permissões, e aqui no vol ja tem varios textos sobre isso, mas esse ta muito bom mesmo...bem legal e de facil compreensão

[7] Comentário enviado por removido em 20/11/2006 - 11:31h

Este artigo entra na lista dos "Indispensáveis"..
ótimo artigo

[8] Comentário enviado por enzo em 20/11/2006 - 12:10h


Simples, Direto e Objetivo, como deve ser todo arquigo. Para ficar completo só falta uma abordagem sobre ACL aplicada na FileSystem.

Parabéns pelo empenho.

[9] Comentário enviado por fabricio.passos em 20/11/2006 - 20:38h

Muito bem escrito o artigo,informa o que realmente e necessario

[10] Comentário enviado por segundow em 20/11/2006 - 21:36h

Artigo muito interessante. A sua explicação está bem simples. Meus parabéns, continue contribuindo amigo.

Abraços

Segundow

[11] Comentário enviado por andre_mantovani em 20/11/2006 - 21:41h

Cara este artigo está muito fera parabens............ Simples e direto ......


Abraços...


Andre Mantovani

[12] Comentário enviado por memaster em 21/11/2006 - 06:46h

Parabéns pelo artigo..... está mesmo nota 10..
Mas preciso de ajuda.. tenho um server com Red Hat 9 rodando o sendmail, o mesmo está pedindo senha no outlook dos clientes, mesmo a senha de usuário estando correta ele não loga... descobri nos logs que na verdade estou com problemas de permissão na pasta /tmp a mesma esta com as seguintes permissões:

drwxrwxrwt 2 root root 4096 Nov 17 17:53 tmp

mesmo assim nem mesmo root pode criar qualquer arquivo ou diretório dentro de /tmp e nem alterar suas permissões pois recebe permissão nagada para isso, alguém jah viu algo parecido?

[13] Comentário enviado por memaster em 23/11/2006 - 07:21h

bom eu mesmo consegui resolver o meu problema de permissões na pasta /tmp, a mesma estava travada, pra quem não conhece:

chattr -i <diretorio/arquivo> : Desbloqueia diretório ou arquivo.

chattr +i <diretorio/arquivo> : Bloqueia diretório ou arquivo (ateh mesmo para o root).

mais valeu de qualquer forma..

[14] Comentário enviado por jpassos em 07/04/2008 - 10:18h

Salvo meu dia, Parabéns e Obrigado!

[15] Comentário enviado por eowyn_k_tonks em 01/03/2010 - 09:00h

muito bom, vlw

[16] Comentário enviado por IltonJunior em 21/07/2015 - 09:24h

Parabéns! Li agora o melhor artigo do VOL!!

[17] Comentário enviado por cainf em 06/08/2015 - 12:21h

Amigo segui a risca mas nao esta 100% os usuários não conseguem deletar só o dono porem eu quero que as pessoas possam alterar o conteúdo do arquivo como planilhas e documentos não sei o que fazer :(

[18] Comentário enviado por leandrothadeu em 02/09/2021 - 23:02h

Como faço para criar um arquivo dentro do diretório o mesmo vim com as mesmas opcoes do diretório.



Leandro Thadeu


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts