Pregunta

¿Cómo puedo bloquear / desbloquear mediante programación o, de otro modo, evitar / habilitar la edición de un archivo fuente en Linux usando C ++.

Quiero poder bloquear el archivo de origen para que si lo abro en un editor no me permita volver a guardar en el mismo archivo de origen.

Estoy pensando en tal vez cambiar los permisos a solo lectura (y cambiarlos de nuevo a lectura-escritura más adelante): ¿cómo hago eso desde C ++?

¿Fue útil?

Solución

Prueba 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);

Otros consejos

¿Por qué no estás usando una herramienta de administración de código fuente como CVS o Subversion? CVS hace un buen bloqueo (también lo hace Subversion). Más importante aún, usted tiene la historia de los cambios. Mejor aún (con CVS de todos modos) tienes que hacer el paso de hacer un " checkout " para hacer el archivo grabable.

Sí, es un poco difícil decir lo que está buscando

  • Seguridad contra otros usuarios que editan tus archivos - > utilice " chmod, fchmod "

  • La seguridad contra usted mismo se mete accidentalmente con sus archivos de origen - > realmente deberías cambiar tu forma de pensar y usar una herramienta de control de fuente. Me gusta Subversion (SVN) o incluso mejor Mercurial .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top