Quiero hacer un archivo bloqueado contra la eliminación, pero aún así se puede escribir. ¿Cómo hago esto?
El archivo en cuestión es un volumen Truecrypt como un archivo en un recurso compartido de red NAS SMB, por lo que no quiero eliminarlo accidentalmente.
linux
windows
filesystems
therobyouknow
fuente
fuente
Respuestas:
Para ventanas:
Para Unix (incluido OS X):
Tenga en cuenta que esto solo evitará que el archivo se elimine (elimine), pero no hará nada contra el truncamiento accidental o la sobrescritura con basura. Si un archivo es grabable, puede escribirle cualquier cosa, punto.
Además, los permisos de archivo son casi imposibles de traducir entre sistemas operativos. Si el NAS ejecuta Linux e intenta establecer permisos desde Windows, el resultado final puede ser diferente de lo que espera.
fuente
En Linux puedes crear un enlace duro a él. Luego puede escribirle y "borrarlo", pero solo eliminará la referencia en su directorio. El otro enlace duro aún señalará el contenido del archivo, por lo que no se habrá eliminado de todos modos.
En el mundo Unix, no "borras" archivos. Simplemente disminuyes el número de enlaces duros a él. Cuando nada más lo señala, el espacio se considera libre y se puede utilizar ...
fuente
Copias de seguridad. Realmente no puede proteger un archivo grabable de daños, incluso si puede eliminarlos. Respaldarlo diariamente.
fuente
Además de las respuestas anteriores, consideraría echar un vistazo a selinux. Allí puede definir limitaciones bastante granulares.
fuente
En un sistema de archivos de vaca como btrfs, puede lograr esto usando subvolúmenes + instantáneas o cp con --reflink = siempre esto dará como resultado tantos archivos como desee, lo que consumiría la misma cantidad de espacio que uno + algo de sobrecarga (pero sin un número increíble de copias o instantáneas especialmente combinadas con tamaños de archivo pequeños, esto no debería ser notable) hasta que se modifiquen, en cuyo caso solo las partes que se han cambiado se almacenan por separado y el resto aún se comparte. Luego, configure los permisos en cada uno por separado (para lograr lo que desea, simplemente haga una instantánea o copie con permisos de solo lectura (y, opcionalmente, móntelo en un solo o no todo si es una instantánea y si es un archivo, use chattr + i (los usuarios pueden No escriba ni modifique el archivo incluso si tiene permisos de escritura) en una copia si es paranoico).
fuente
En UNIX "estándar", parece imposible proteger un solo archivo de la eliminación si el directorio es grabable. Intuitivamente, uno podría esperar que borrar la protección w de los bits de modo con 'chmod' debería proteger contra la eliminación, pero ESTE NO ES EL CASO. Del mismo modo, en AFS, no puede proteger los archivos individuales para que no se eliminen, porque las entradas de ACL (que carecen o niegan la autorización 'd' relevante) solo se aplican al directorio en su conjunto.
fuente