Блокировка / Запрет редактирования исходных файлов в Linux с использованием C ++ - PullRequest
1 голос
/ 07 октября 2008

Как программно заблокировать / разблокировать или иным образом предотвратить / включить редактирование исходного файла в Linux с использованием C ++.

Я хочу иметь возможность заблокировать исходный файл, чтобы, если я открою его в редакторе, он не позволил мне сохранить его в том же исходном файле.

Я подумываю о том, чтобы изменить разрешения на чтение только (и изменить их обратно на чтение и запись позже): как мне это сделать из C ++?

Ответы [ 3 ]

5 голосов
/ 07 октября 2008

Попробуйте man 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);
1 голос
/ 07 октября 2008

Да, немного сложно сказать, что вы ищете

  • Защита от других пользователей, редактирующих ваши файлы -> используйте "chmod, fchmod"

  • Безопасность от вас самих, случайно возиться с вашими исходными файлами -> вы действительно должны изменить свое мышление и использовать инструмент управления источниками. Как Subversion (SVN) или даже лучше Mercurial .

1 голос
/ 07 октября 2008

Почему вы не используете инструмент управления исходным кодом, такой как CVS или Subversion? CVS делает хорошую блокировку (как и Subversion). Что еще более важно, у вас есть история изменений. Еще лучше (в любом случае с CVS) вы должны сделать шаг «проверки», чтобы сделать файл доступным для записи.

...