¿Hay alguna manera de evitar la creación de un archivo determinado?

8

Cuando uso un navegador que lee PDF, el complemento de acrobat se usa para producir un archivo llamado C:\nppdf32Log\debuglog.txten mi casa. ¿Hay alguna manera de evitar que se pueda crear este archivo dado? Quiero decir que podría crearlo con permisos de root para que este archivo ya exista, pero quiero desvanecerlo silenciosamente. Estoy usando ext4.

matemáticas
fuente
2
Simplemente crearía un cron-job que elimina este archivo regularmente.
jofel
Tener un directorio con ese nombre es bastante bueno para evitar que se cree el archivo, pero eso no te acerca a no tener la entrada en absoluto. Supongo que podría tener un script de envoltura alrededor de su navegador que elimine ese archivo al finalizar ...
Ulrich Schwarz
1
¡Me preguntaba de dónde vino ese archivo!
Joe

Respuestas:

4

Debería poder lograr esto con AppArmor , que le permite a uno bloquear el acceso según la ruta. El tipo de sistema de archivos no juega ningún papel en este caso.

Otra opción es, por supuesto, usar otro visor de PDF. Si insiste en tenerlo en el navegador, por ejemplo, Firefox a partir de la versión 19 tiene un JavaScript incorporado.

También puede hackear el complemento como se menciona en el error de Ubuntu . Ahora recuerdo haberlo hecho hace mucho tiempo (o el error ha estado allí por años o ha sido reintroducido últimamente), cuando todavía lo estaba usando. Si tiene instalado Perl, puede "arreglar" el complemento con:

perl -p -e 's,C:\\nppdf32,/dev/null\0,' /usr/lib/browser-plugins/nppdf.so

(es posible que deba actualizar la ruta del archivo para su distribución).

Peterph
fuente
Para completar: hay otros marcos de seguridad como grsecurity , SELinux o SMACK . Deberían poder hacer lo mismo, pero la mayoría de ellos son más difíciles que AppAmor.
jofel
@jofel No estoy realmente seguro de que SELinux funcione en este caso, ya que usa inodes, y no se sabe el inodo antes de que el archivo se cree realmente. Sin acroreadembargo, podría funcionar evitando escribir el directorio principal (por inodo).
Peter