SUID
O bit adesivo aplicado aos programas executáveis que sinalizam o sistema para manter uma imagem do programa na memória após a conclusão da execução do programa.
Mas não sei o que está armazenado na memória. E como eu posso vê-los, neste caso.?
filesystems
permissions
acaso
fonte
fonte
Respostas:
Esta é provavelmente uma das minhas coisas mais irritantes que as pessoas estragam o tempo todo. O bit SUID / GUID e o sticky-bit são duas coisas completamente diferentes.
Se você fizer um,
man chmod
poderá ler sobre o SUID e os bits pegajosos. A página do manual também está disponível aqui .fundo
excerto
SUID / GUID
O que a página de manual acima está tentando dizer é que a posição que o x ocupa na rwxrwxrwx para o usuário octal (1º grupo de rwx) e o grupo octal (2º grupo de rwx) pode assumir um estado adicional em que x se torna um s. Quando isso ocorre, esse arquivo, quando executado (se for um programa e não apenas um script de shell), será executado com as permissões do proprietário ou do grupo do arquivo.
Portanto, se o arquivo pertencer à raiz e o bit SUID estiver ativado, o programa será executado como raiz. Mesmo se você executá-lo como um usuário comum. O mesmo se aplica ao bit GUID.
excerto
Exemplos SUID / GUID
no suid / guid - apenas os bits rwxr-xr-x estão definidos.
bit executável do suid e do usuário ativado (letras minúsculas) - os bits rwsr-xrx estão definidos.
bit ativado por suid e executável desativado (S maiúsculo) - os bits rwSr-xr-x estão definidos.
bit executável do guid & group ativado (letras minúsculas) - os bits rwxr-sr-x estão definidos.
bit guid ativado e executável desativado (S maiúsculo) - os bits rwxr-Sr-x estão definidos.
pedaço pegajoso
O bit adesivo, por outro lado, é indicado como
t
, como no/tmp
diretório:Esse bit deveria sempre ser chamado de "bit de exclusão restrito", pois é isso que ele realmente conota. Quando esse bit de modo está ativado, ele cria um diretório para que os usuários possam excluir apenas arquivos e diretórios dentro dos quais são proprietários.
excerto
fonte
ls
. Obviamente, apenas o superusuário pode definir o bit em um arquivo. Tornou-se menos importante depois que a memória virtual e as bibliotecas compartilhadas foram introduzidas, especialmente quando os pagers se tornaram mais inteligentes e podem decidir dinamicamente quais páginas manter residente.ed
aderência.Eu acho que é uma informação bastante obsoleta, hoje os Unixes modernos ignoram isso. No Linux, o sticky bit é relevante apenas para diretórios. Veja aqui e o artigo bastante informativo da Wikipedia .
De qualquer forma, nesse antigo comportamento, a imagem (apenas o "código", não os dados) era mantida apenas na memória virtual - normalmente trocada, não na memória real, para executá-la mais rapidamente na próxima vez.
fonte
Um bit fixo é um bit de permissão definido em um diretório que permite que apenas o proprietário do arquivo nesse diretório ou o usuário raiz exclua ou renomeie o arquivo. Nenhum outro usuário tem os privilégios necessários para excluir o arquivo criado por outro usuário.
Essa é uma medida de segurança para evitar a exclusão de pastas críticas e seu conteúdo (subdiretórios e arquivos), embora outros usuários tenham permissões totais.
fonte