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.

Aplicando Sticky

  • Em arquivos executáveis:

[~]$ chmod 1750 programa_pesado.sh (Formato octal (1))
[~]$ chmod o+t programa_pesado.sh (Formato simbólico (t))
[~]$ ls -lah programa_pesado.sh
-rwxr-x--T 1 root root 2,9M 2006-09-26 23:51 programa_pesado.sh

  • Em diretório:

[~]$ chmod 1777 /tmp
[~]$ chmod o+t /tmp
[~]$ ls -lah /tmp
drwxrwxrwt 8 root root 264 2006-09-26 23:22

Retirando Sticky

[~]$ chmod o-t /tmp​

Set UID

A propriedade SUID é somente para arquivos executáveis e não tem efeito em diretórios. Nas permissões básicas, o usuário que executou o programa é dono do processo. Mas em arquivo executável com a propriedade SUID aplicada, o programa rodará com o ID do dono do arquivo, não com o ID do usuário que executou o programa.

Normalmente o usuário dono do programa executável é também dono do processo sendo executado. Ou seja, quando um arquivo/programa executável tem o controle de acesso SUID, ele é executado como se ele estivesse iniciado pelo dono do arquivo/programa.

Aplicando Set UID

[~]$ chmod 4750 programa.sh (Formato octal (4))
[~]$ chmod u+s programa.sh (Formato simbólico (s))
[~]$ ls -lah programa.sh
-rwsr-x--- 1 root roberto 0 2006-09-26 22:57 programa.sh

Retirando Set UID

[~]$ chmod u-s programa.sh
[~]$ ls -lah programa.sh
-rwxr-x--- 1 root roberto 0 2006-09-26 22:57 programa.sh

Set GID

A propriedade SGID tem a mesma função que o SUID para arquivos executáveis. Mas a propriedade SGID tem um efeito especial para os diretórios.

Quando SGID é aplicado em um diretório, os novos arquivos que são criados dentro do diretório assumem o mesmo ID de Grupo do diretório com a propriedade SGID aplicado.

-Exemplo:

Se no diretório /home/teste tem o grupo ‘dba’ e tem o SGID habilitado, então todos os arquivos dentro do diretório /home/teste serão criados com o grupo ‘dba’.

Aplicando Set GID

[~]$ chmod 2750 /home/teste (Formato octal (2))
[~]$ chmod g+s /home/teste (Formato simbólico (s))
[~]$ ls -lah /home/teste
drwxr-sr-x 2 dba teste 48 2006-09-26 23:21

Retirando Set GID

[~]$ chmod g-s /home/teste
[~]$ ls -lah /home/teste
drwxr-xr-x 2 dba teste 48 2006-09-26 23:21​

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *