Pergunta

Como posso programaticamente bloquear / desbloquear, ou de outro modo evitar / permitir a edição, um arquivo de origem no Linux usando C ++.

Eu quero ser capaz de arquivo de origem bloqueio de modo que se eu abri-lo em um editor que não vai permitir-me para salvar de volta para o mesmo arquivo de origem.

Eu estou pensando em talvez mudar as permissões para somente leitura (e mudá-lo de volta para leitura e escrita mais tarde): como eu faço isso de C ++

Foi útil?

Solução

Tente homem fchmod:

NAME
       chmod, fchmod - change permissions of a file

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);

Outras dicas

Por que você não estiver usando uma ferramenta de gerenciamento de código fonte como CVS ou Subversion? CVS faz bom bloqueio (o mesmo acontece com o Subversion). Mais importante, você tem o histórico de alterações. Melhor ainda (com CVS de qualquer maneira) você tem que dar o passo de fazer um "check-out" para fazer o gravável arquivo.

Sim, é um pouco difícil dizer o que você está procurando

  • Segurança contra outros usuários editar seus arquivos -> uso "chmod, fchmod"

  • Segurança contra você mesmo acidentalmente mexer com os arquivos de origem -> você deve realmente mudar o seu pensamento e usar uma ferramenta de controle de origem. Como Subversion (SVN) ou ainda melhor Mercurial .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top