Proteger la sobrescritura del contenido de la carpeta

Proteger la sobrescritura del contenido de la carpeta

¿Hay alguna manera (con ACL) de proteger el contenido de una carpeta? Los usuarios deben crear archivos dentro de una carpeta, pero no sobrescribirlos, editarlos o eliminarlos. es posible?

Respuesta1

Se podría utilizar inotifywaitpara observar el directorio y realizar cambios, como cambiar la propiedad de cada nuevo archivo copiado en el directorio. En una distribución basada en Debian, instale el software de la siguiente manera: apt-get install inotify-tools.

Cree un script, tal vez /usr/local/sbin/inbox.sh, de la siguiente manera.

#!/usr/bin/env bash
inotifywait -m -e create "/path/to/directory" |
while read path event file; do
    if [ "$event" = "CREATE" ]; then
        chown root:root "$path$file"
    fi
done

Otorgue permiso al script para ejecutarse ( chmod 0700 /usr/local/sbin/inbox.sh). Luego ejecútelo en el momento del arranque desde, por ejemplo, /etc/rc.localcualquier archivo RC que sea apropiado: /usr/local/sbin/inbox.sh &.

De acuerdo con lamanual, -mmonitorea indefinidamente y -evigila un evento específico. Dentro del whilebucle, podría ser posible recibir un evento como CREATE,ISDIR, que indica la creación de un directorio, por supuesto. Los directorios no son el objetivo de la pregunta; por lo tanto, la ifdeclaración contiene un comando para responder solo a archivos nuevos, que están representados con el evento CREATE. La pathvariable from inotifywaittiene un carácter de barra diagonal, por lo que $pathy $filese puede concatenar sin especificar una barra diagonal entre las dos.

información relacionada