Sticky bit
Em computação, o sticky bit (em português "bit pegajoso") é um sinalizador de direito de acesso proprietário que pode ser assimilado a arquivos e diretórios em sistemas do tipo Unix.
Quando um sticky bit de diretório é definido, o sistema de arquivos trata os arquivos em tais diretórios de uma maneira especial de forma que apenas o proprietário do arquivo, o proprietário do diretório ou o usuário root possa renomear ou deletar o arquivo. Sem o sticky bit definido, qualquer usuário com permissões de escrita e execução para o diretório pode renomear ou deletar arquivos contidos, não importando o proprietário do arquivo. Normalmente isto é definido no diretório tmp para prevenir que usuários ordinários deletem ou movam arquivos de outros usuários.
A função moderna do sticky bit foi introduzida no 4.3BSD em 1986 e é encontrado na maioria dos sistemas do tipo Unix modernos.
Visão geral
Essa permissão geralmente é aplicada a diretórios. Quando isso ocorre, os arquivos criados dentro do mesmo apenas podem ser renomeados ou apagados pelo dono do arquivo, do diretório ou pelo superusuário.
Embora exista uma concordância sobre a funcionalidade dessa permissão quando aplicada a diretórios, quando ela é aplicada a arquivos sua função varia de acordo com o sistema operacional utilizado. Os sistemas Linux atuais, por exemplo, ignoram o sticky bit em arquivos.[1]
Exemplos
O sticky bit pode ser definido usando o comando chmod, usando seu modo octal 1000 ou por meio de seu símbolo t (s já é usado pelo bit setuid). Por exemplo, para adicionar o bit no diretório /usr/local/tmp, uma opção seria digitar chmod +t /usr/local/tmp. Ou, para certificar que o diretório possui as permissões padrões de tmp, outra alternativa seria digitar chmod 1777 /usr/local/tmp.
Para retornar à permissão anterior, use chmod -t /usr/local/tmp ou chmod 0777 /usr/local/tmp (o último também reiniciará o diretório tmp para as permissões padrões).
Na notação simbólica de permissões do sistema de arquivos do Unix, o sticky bit é representado pela letra t no local de caractere final. Por exemplo, no Solaris 8, o diretório /tmp, que por padrão possui o sticky bit definido, mostra o seguinte:
$ ls -ld /tmp
drwxrwxrwt 4 root sys 485 Nov 10 06:01 /tmp
Se o sticky bit for definido em um arquivo ou diretório sem o bit de execução definido para a categoria outros (non-user-owner ou non-group-owner), ele é indicado com um T maiúsculo:
# ls -l test
-rw-r--r-- 1 root other 0 Nov 10 12:57 test
# chmod +t test; ls -l test
-rw-r--r-T 1 root other 0 Nov 10 12:57 test
Referências
- ↑ «Linux Man Pages. CHMOD: Sticky Files.». 2004. Consultado em 14 de fevereiro de 2014. Cópia arquivada em 20 de setembro de 2013
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.