Principalmente ordenado por proteção decrescente e maior conveniência:
-
Armazene os arquivos em mídia fisicamente somente leitura, como um CD-ROM.
-
Armazene os arquivos em um sistema de arquivos separado que você monta somente leitura.
-
Se você for o administrador, crie outro usuário e torne esses arquivos de propriedade de outro usuário.
-
Use o FUSE bindfs (pacote Ubuntu
bindfs
) para criar uma visualização somente leitura do árvore de diretórios e aponte seus scripts para essa visualização somente leitura :bindfs -p a-w /path/to/actual/tree /path/to/readonly/view myscript -d /path/to/readonly/view
-
Torne a árvore de diretórios somente leitura com
chmod a-w /path/to/tree
. -
Crie uma cópia da árvore com arquivos vinculados e aponte seu script para a cópia. Então seus scripts ainda podem modificar arquivos existentes, mas se eles criarem, removerem ou substituirem arquivos, isso afetará apenas a cópia.
cp -al /path/to/actual/tree /path/to/readonly/view myscript -d /path/to/readonly/view
Eu recomendo que você use bindfs. A única razão pela qual eu faria qualquer outra coisa, de acordo com seus requisitos, é se ela não estivesse disponível.
Se você quisesse que os scripts pudessem gravar na árvore de diretórios, mas sem afetar os arquivos reais, você poderia usar um sistema de arquivos union, por exemplo funionfs ou unionfs-fuse .