Um socket pode ser usado se o arquivo for somente leitura?

1

Um soquete pode ser usado se o arquivo for somente leitura?

Por exemplo, se um programa precisar usar um soquete para se comunicar com um daemon, mas não pode excluir o soquete.

Porque, digamos, não seria capaz de recriá-lo, tornando o trabalho somente leitura do arquivo? Isso é para as variantes Linux e BSD.

    
por Melab 25.11.2016 / 04:38

1 resposta

3

would making the file read-only work?

O que faz você pensar que não pode excluir um arquivo que é somente leitura? A capacidade de excluir arquivos é governada pelo acesso de gravação ao diretório em que o arquivo está [*] e não pelas permissões de arquivo. Para ver isso, faça:

touch a
chmod 0000 a
rm a

Embora rm possa solicitar a remoção de um arquivo protegido contra gravação, a operação é permitida.

Então, o que você precisa fazer é não dar o programa acessando as permissões de gravação do daemon no diretório que contém o arquivo de soquete, e o tio de Bob (no que diz respeito à exclusão do arquivo de soquete).

[*] - note que as coisas são um pouco complicadas pelo bit pegajoso, o que pode levar ao exame do proprietário do arquivo, mas não às permissões do arquivo . / p>     

por 25.11.2016 / 05:02