Me gustaría restringir el acceso a un directorio. Por ejemplo, en mi sistema hay un directorio ~/.thunderbird
que contiene configuraciones, letras, cachés, etc. del cliente de correo Thunderbird . Obviamente, otras aplicaciones no necesitan el contenido de esta carpeta. Y otras aplicaciones no deben acceder a la carpeta no por seguridad sino por seguridad (por ejemplo, el comportamiento "loco" de alguna otra aplicación causado por un error o un error en mi script de shell no debería afectar el contenido de Thunderbird El directorio de ).
No puedo usar setuid en el ejecutable de Thunderbird (por ejemplo, /usr/bin/thunderbird
). Porque después de que se establezca el bit setuid , no accederé a los archivos habituales creados por Thunderbird (por ejemplo, archivos adjuntos descargados).
Hay una solución con el bit setgid en el ejecutable de Thunderbird (los archivos adjuntos tendrán thunderbird
group mientras que el propietario será yo). Pero esta forma no es segura (porque el propietario será yo, por lo que accidentalmente puedo eliminar algo de ~/.thunderbird
).
De todos modos, el enfoque con setuid / setgid no es confiable y es frágil (por ejemplo, después de eliminar Thunderbird y volver a instalarlo, los bits serán no presente en la nueva instancia de /usr/bin/thunderbird
ejecutable).
chroot no es una solución porque Thunderbird requiere acceso no solo a su directorio de inicio a bibliotecas compartidas también.
También he mirado en AppArmor. Sí, puedo configurar restricciones en Thunderbird . Pero parece imposible escribir una regla que niegue el acceso a ~/.thunderbird
para todos los ejecutables, excepto /usr/bin/thunderbird
.
Quizás, el objetivo se puede lograr a través de SELinux . Pero es demasiado complejo para mí por ahora. Y es superfluo: puede haber una forma más sencilla.
¿Podría ayudarme y señalar una herramienta (o módulo del kernel) que pueda permitir el acceso a un directorio para una aplicación determinada y denegar el acceso a todas las demás aplicaciones?
PS Mi distribución es LinuxMint 17.1 32bit .