Блокировать / Запрещать редактирование исходных файлов в Linux с использованием C ++

StackOverflow https://stackoverflow.com/questions/177640

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

Попробуйте 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);

Другие советы

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

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

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

  • Защита от того, что вы сами случайно вмешаетесь в свои исходные файлы -> вам действительно следует изменить свое мышление и использовать инструмент управления версиями.Нравится Subversion (SVN) или даже лучше Переменчивый.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top