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 letras
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 especialt
, 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ê usarX
ao invés dex
, 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çãox
.
-
Exemplo da permissão de acesso especial
X
:-
Crie um arquivo
teste
(digitandotouch teste
) e defina sua permissão pararw-rw-r--
(chmod ug=rw,o=r teste
ouchmod 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 digitandols -l
). -
Agora tente novamente o
chmod a+X teste
-
Você deve ter reparado que a permissão de acesso especial
X
é semelhante ax
, 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 quex
, até mesmo se o diretório não tiver nenhuma permissão de acesso (x
). -
Copyright © 1999-2020 - Gleydson Mazioli da Silva