Nessa última parte da nossa conversa sobre permissões em arquivos no Linux, vamos ver alguns atributos especiais.
$ ls -l / | grep tmp
drwxrwxrwt 20 root root 600 Jul 15 11:25 tmp
$
drwxrwxrwt 20 root root 600 Jul 15 11:25 tmp
$
Reparem no atributo "t". Ele é chamado de "stick bit" e informa que um arquivo criado nesta pasta só poderá ser alterado e apagado pelo seu criador. A pasta /tmp tem essa característica. Não faz muito sentido ter essa permissão em um arquivo.
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 45396 Mai 25 2012 /usr/bin/passwd
$
-rwsr-xr-x 1 root root 45396 Mai 25 2012 /usr/bin/passwd
$
O "s" nas permissões de usuário é chamado de "suid" e informa que esse programa rodará com as permissões do dono do arquivo (neste caso o root), independente de quem o tenha executado. Só faz sentido usá-lo em programas executáveis. Isso permite que usuários normais possam fazer tarefas administrativas, ou que requeiram permissões especiais. No exemplo acima, para alterar a senha é necessário ter acesso de escrita no arquivo /etc/shadow.
Quando "s" estiver nas permissões do grupo (sgid) o programa será executado pelo grupo ao qual ele pertence, ao invés do grupo do usuário que o executou. Se colocado em uma pasta, os arquivos criados nesta pasta terão as mesmas permissões da pasta. Muito útil em pastas compartilhadas.
Para alterar essas permissões especiais você pode usar a notação escrita ou a numérica.
$ chmod +t,+s fileone
$ ls -l fileone
-rwsrwxrwt 1 ricardo root 13 Jul 2 12:57 fileone
$
$ ls -l fileone
-rwsrwxrwt 1 ricardo root 13 Jul 2 12:57 fileone
$
Na notação numérica, t=1, sgid=2, suid=4. Para setar o stick bit, dando permissão total ao dono, leitura e execução ao grupo e aos demais usuários, bata digitar:
# chmod 1755 fileone
# ls -l fileone
-rwxr-xr-t 1 ricardo root 8528 Jul 1 2011 fileone
#
# ls -l fileone
-rwxr-xr-t 1 ricardo root 8528 Jul 1 2011 fileone
#
Para setar também o suid, basta somar t (=1) com suid (=4).
# chmod 5755fileone
# ls -l fileone
-rwsr-xr-t 1 ricardo root 8528 Jul 1 2011 fileone
#
# ls -l fileone
-rwsr-xr-t 1 ricardo root 8528 Jul 1 2011 fileone
#
Nenhum comentário:
Postar um comentário