Alterar o proprietário do arquivo sem ser root

Alterar o proprietário do arquivo sem ser root

Sugiro que eu tenha um arquivo de log com permissão 666 e sua proprietária seja Alice. Portanto, o usuário 'bob' pode alterar seu proprietário desta forma:

cp log log.temp; rm log; mv log.temp log

Então, como posso corrigir esse risco?

Responder1

Como Andrey disse acima, bob só pode fazer o que você diz se tiver direitos sobre o diretório que contém o arquivo. Basta alterar as permissões do diretório para xx5 se desejar que bob acesse, mas não consiga criar novos arquivos.

deEntendendo as permissões do UNIX

As permissões de acesso para arquivos e pastas significam coisas diferentes do ponto de vista do usuário.

Para arquivos

  • Ler: Se o conteúdo do arquivo puder ser lido
  • Escrever:Se o usuário ou processo puder gravar no arquivo (alterar seu conteúdo)
  • Executar:Se o arquivo puder ser executado

Para diretórios

  • Ler:Se a listagem do diretório puder ser obtida
  • Escrever:Se o usuário ou processo puder alterar o conteúdo do diretório de alguma forma: crie novos ou exclua arquivos existentes no diretório ou renomeie os arquivos.
  • Executar:Se o usuário ou processo puder acessar o diretório, ou seja, vá até ele (faça com que seja o diretório de trabalho atual)

Responder2

Supondo que o OP tivesse um bom motivo para Alice e Bob terem permissões de gravação no diretório de log, a resposta alternativa é.

chmod og+t directorypath

O problema não é que o usuário possa ler o arquivo de log, ou mesmo criar novos arquivos no mesmo diretório, mas sim mover e excluir o arquivo de log existente.

+trestringe a movimentação e exclusão de arquivos em um diretório apenas ao proprietário do arquivo (à parte root).

É assim que /tmp dir funciona.

informação relacionada