Um dos meus scripts cria dinamicamente um link simbólico assim:
ln -s /home/hosting/projects/images /home/hosting/projects/demo/images
Como posso fazer para que o acesso através do link seja somente leitura?
fonte
Um dos meus scripts cria dinamicamente um link simbólico assim:
ln -s /home/hosting/projects/images /home/hosting/projects/demo/images
Como posso fazer para que o acesso através do link seja somente leitura?
Você pode criar uma montagem de ligação somente leitura .
mount --bind /path/to/source/ /path/to/dest/
mount -o bind,remount,ro /path/to/dest
Sim, isso deve ser feito em duas etapas nos kernels após os kernels Linux 2.6.25 (veja o link acima para saber o porquê).
Ou, alternativamente, como um /etc/fstab
exemplo de linha ref :
/path/to/source/ /path/to/dest/ none bind,ro
Em qualquer uma das abordagens, uma montagem de ligação vive na camada do sistema de arquivos virtual (VFS), portanto, isso não é específico a nenhum sistema de arquivos, nem você realmente 'monta' nada. Então, basicamente, isso está criando um tipo de link simbólico para você, mas isso não aparece como tal.
E para responder ao comentário abaixo sobre perda de dados ... não, essas instruções não removem nenhum arquivo. Caso você tenha arquivos presentes no caminho de destino, essa montagem ficará sobre ela. Apenas desmonte para poder listar seus arquivos no caminho no sistema de arquivos abaixo. Melhor ainda; em geral, evite montar em cima de um caminho de destino não vazio.
mount -o bind,remount,ro /path/to/dest
Consulte lwn.net/Articles/637501 desse mesmo encadeamento.mount -o remount,ro /path/to/dest
dá-me o seguinte erro:mount: mount point is busy.
@gertvdijkpara montar o bind somente leitura com um comando:
desmontar
fonte