Bloquear / Prevent edição de arquivos de origem no Linux usando C ++
-
05-07-2019 - |
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 ++
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 .