O Firefox exclui arquivos protegidos por raiz?

2

Quando o Firefox é iniciado, ele cria dois arquivos no diretório de configurações do usuário: places.sqlite-shm e places.sqlite-wal e os exclui ao sair.

Apenas para o experimento, defino as permissões desses arquivos para que apenas o root possa ler / gravar esses arquivos. Mas quando fechei o Firefox, esses arquivos foram deletados! Como isso é possível? O Firefox não está sendo executado com permissões de root ...

Não me pergunte por que estou fazendo isso, estou apenas curioso

    
por tuks 21.05.2012 / 06:00

3 respostas

10

Um usuário com permissão de gravação em um diretório pode excluir qualquer arquivo dentro desse diretório, a menos que o diretório tenha o bit "fixo" definido (como é comumente definido em /tmp ).

Além disso, o proprietário de um diretório pode excluir qualquer arquivo desse diretório, independentemente do bit adesivo ou de outras permissões.

O bit "aderente" quando definido em um diretório é às vezes chamado de "sinalizador de exclusão restrita".

Se você quiser impedir que o usuário exclua esses arquivos, defina o bit adesivo do diretório pai:

chmod +t some-directory-name

Depois disso, você também precisará alterar a propriedade no diretório (você precisará fazer isso como root):

sudo chown root some-directory-name

Você desejará garantir que seu usuário ainda possa gravar nesse diretório, se a perda de propriedade deixar o usuário sem acesso de gravação, você poderá conceder acesso de gravação a "outro":

sudo chmod o+rwx some-directory-name

Ou você pode garantir que seu grupo tenha acesso:

sudo chgrp yourgroup some-directory-name
sudo chmod g+rwx some-directory-name

(A propriedade do grupo não é suficiente para permitir que você exclua os arquivos de propriedade da raiz.)

Boa sorte nas suas aventuras, sejam elas quais forem.

    
por jeff 21.05.2012 / 06:16
0

Para excluir um arquivo, você só precisa gravar e executar a permissão para a pasta que contém o arquivo. As permissões do arquivo em si não importam.

    
por Florian Diesch 21.05.2012 / 06:16
0

Porque você pode excluir arquivos dentro de diretórios com base nas permissões do diretório.

link

  

Permissão de leitura. Em um arquivo regular, o bit de permissão de leitura significa que o arquivo pode ser aberto e lido. Em um diretório, a permissão de leitura significa que você pode listar o conteúdo do diretório .

     

Permissão de gravação. Em um arquivo regular, isso significa que você pode modificar o arquivo, também conhecido como gravar novos dados no arquivo. No caso de um diretório, a permissão de gravação significa que você pode adicionar, remover e renomear arquivos no diretório. Isso significa que, se um arquivo tiver o bit de permissão de gravação, você poderá modificar o conteúdo do arquivo, mas terá permissão para renomear ou excluir o arquivo apenas se as permissões do diretório do arquivo permitirem que você o faça .

     

Execute permissão. No caso de um arquivo regular, isso significa que você pode executar o arquivo como um programa ou um script de shell. Em um diretório, a permissão de execução (também chamada de "bit de pesquisa") permite acessar arquivos no diretório e inseri-los, com o comando cd, por exemplo. No entanto, observe que, embora o bit de execução permita que você insira o diretório, não é permitido listar seu conteúdo, a menos que você também tenha as permissões de leitura para esse diretório.

    
por Panther 21.05.2012 / 06:22