Em adição as três permissões básicas (rwx), existem permissões de acesso especiais (stX) que afetam os arquivos e diretórios:
s
- Quando é usado na permissão de acesso do
Dono, ajusta a identificação efetiva do usuário do
processo durante a execução de um programa, também chamado de bit
setuid. Não tem efeito em diretórios.
Quando s
é usado na permissão de acesso do
Grupo, ajusta a identificação efetiva do grupo do processo
durante a execução de um programa, chamado de bit setgid.
É identificado pela letra s
no lugar da permissão de
execução do grupo do arquivo/diretório. Em diretórios, força que os arquivos
criados dentro dele pertençam ao mesmo grupo do diretório, ao invés do grupo
primário que o usuário pertence.
Ambos setgid e setuid podem aparecer
ao mesmo tempo no mesmo arquivo/diretório. A permissão de acesso especial
s
somente pode aparecer no campo Dono e
Grupo.
S
- Idêntico a "s". Significa que não existe a permissão
"x" (execução ou entrar no diretório) naquela posição. Um exemplo é o chmod
2760 em um diretório.
t
- Salva a imagem do texto do programa no dispositivo swap,
assim ele será carregado mais rapidamente quando executado, também chamado de
stick bit.
Em diretórios, impede que outros usuários removam arquivos dos quais não são
donos. Isto é chamado de colocar o diretório em modo
append-only
. Um exemplo de diretório que se encaixa
perfeitamente nesta condição é o /tmp
, todos os usuários
devem ter acesso para que seus programas possam criar os arquivos temporários
lá, mas nenhum pode apagar arquivos dos outros. A permissão especial
t
, pode ser especificada somente no campo outros usuários
das permissões de acesso.
T
- Idêntico a "t". Significa que não existe a permissão
"x" naquela posição (por exemplo, em um chmod 1776 em um diretório).
X
- Se você usar X
ao invés de
x
, a permissão de execução somente é aplicada se o arquivo
já tiver permissões de execução. Em diretórios ela tem o mesmo efeito que a
permissão de execução x
.
Exemplo da permissão de acesso especial X
:
Crie um arquivo teste
(digitando touch
teste
) e defina sua permissão para rw-rw-r--
(chmod ug=rw,o=r teste
ou chmod 664
teste
).
Agora use o comando chmod a+X teste
digite ls -l
Veja que as permissões do arquivo não foram afetadas.
agora digite chmod o+x teste
digite ls -l
, você colocou a permissão de execução para os
outros usuários.
Agora use novamente o comando chmod a+X teste
digite ls -l
Veja que agora a permissão de execução foi concedida a todos os usuários, pois foi verificado que o arquivo era executável (tinha permissão de execução para outros usuários).
Agora use o comando chmod a-X teste
Ele também funcionará e removerá as permissões de execução de todos os
usuários, porque o arquivo teste
tem permissão de execução
(confira digitando ls -l
).
Agora tente novamente o chmod a+X teste
Você deve ter reparado que a permissão de acesso especial X
é semelhante a x
, mas somente faz efeito quanto o arquivo já
tem permissão de execução para o dono, grupo ou outros usuários.
Em diretórios, a permissão de acesso especial X
funciona da
mesma forma que x
, até mesmo se o diretório não tiver
nenhuma permissão de acesso (x
).
Copyright © 1999-2020 - Gleydson Mazioli da Silva