Como evitar que o editor Geany altere o proprietário do arquivo quando ele é editado?

1

Eu uso o Geany para editar arquivos em um aplicativo da web que reside em /var/www . O proprietário e o grupo de /var/www e todos os subdiretórios e arquivos são www-data:www-data . Minha conta de usuário é um membro desse grupo e eu edito os arquivos como meu usuário. Às vezes parece que Geany muda o proprietário e o grupo do arquivo editado para meu usuário e meu grupo.

Como posso ter certeza de que o usuário: group nunca é alterado quando edito um arquivo com o Geany?

Eu encontrei essa pista na ajuda do Geany:

use_atomic_file_saving

Defines the mode how Geany saves files to disk. If disabled, Geany directly writes the content of the document to disk. This might cause loss of data when there is no more free space on disk to save the file. When set to true, Geany first saves the contents into a temporary file and if this succeeded, the temporary file is moved to the real file to save. This gives better error checking in case of no more free disk space. But it also destroys hard links of the original file and its permissions (e.g. executable flags are reset). Use this with care as it can break things seriously. The better approach would be to ensure your disk won't run out of free space.

A partir de agora, ele está desativado, o que significa que o arquivo foi escrito diretamente, o que, na minha opinião, evitaria que meu problema acontecesse.

Esta pergunta contém algumas informações relevantes: Como edito um arquivo e preservo sua lista de controle de acesso / contexto de segurança do SELinux?

    
por PetaspeedBeaver 30.03.2016 / 16:49

1 resposta

1

Olhando Geany wiki , parece que você pode também precisa desativar esta opção:

use_gio_unsafe_file_saving

This is on by the default, and is provided by the GIO library.

This option attempts to deal with as many of the issues associated with the other methods as it can:

  • It attempts to use the atomic rename saving method described above, but tries to address as many issues as it can:
    • it checks metadata of the temporary file and tries to copy the metadata from the existing file,
    • if the metadata is correct, it writes to the temporary and renames as above,
    • if the metadata is not correct, it uses a non-atomic but safe method of:
      • copying the existing file to a temporary file
      • truncating and overwriting the existing file, if this fails the temporary file should be copied back or available, but see disadvantages below.
  • It attempts to determine if rename is available on the underlying file system, and uses the non-atomic method if rename fails.

Advantages:

  • Deals with the most different conditions, so works the most correctly on the most file systems. That is why it is the default.

Disadvantages:

  • There is a long standing bug or design fault in the GIO library that deletes the temporary file from the non-atomic save if writing the data file fails. This means it is no more safe than the simple overwrite method since the previous data is not restored, or even left available for the user to restore.
  • The non-atomic save copies data over the network three times (read and write to make the temporary file, write the output file) which can be slow on remote networks.
  • Uses twice the disk space.
  • Is quite complex.
  • Uses library code so Geany can't modify its behaviour

Que método estranho de salvar arquivos. Parece que pode resultar na mesma economia "atômica" que a opção use_atomic_file_saving .

    
por 30.03.2016 / 17:49