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: