
Eu tenho uma pasta ~/nas
que costumo usar sshfs
para montar uma unidade de rede. Hoje, não percebi que o compartilhamento ainda não havia sido montado e copiei alguns dados nele. Demorei um pouco para perceber que acabei de copiar os dados para minha própria unidade local, em vez de para o compartilhamento de rede. Existe alguma maneira de marcar no sistema que esta pasta deve ser um ponto de montagem e não permitir que ninguém copie dados nela?
Eu tentei a solução de permissões aqui:Como permitir que um programa grave em um diretório apenas se estiver montado?, mas se eu não tiver acesso de gravação, também não consigo montar nada nele.
Responder1
Contanto que você estejanãoroot, você simplesmente poderia revogar a permissão de gravação para o~/nasdiretório para você e use sudo para montagem elevada:
$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$
A ideia por trás de tudo isso: ~/nas como caminho de montagem teria as permissões atribuídas a ele enquanto o destino não estivesse montado, evitando assim modificações feitas por você (desde que seu usuário não tenha privilégios de root). O comando mount (precisa de privilégios de root para ser executado) modifica temporariamente as permissões da pasta para qualquer que seja a configuração das permissões do destino, permitindo acesso de gravação para o seu usuário.
Responder2
Nós usamos oimutável-flag para proteger o diretório mesmo para acesso root.
chattr +i /vmdata/backup
Desta forma, mesmo o root não tem permissão para escrever lá quando nada estiver montado. Após montar o disco, tudo funciona conforme o esperado.
Responder3
Você pode usar a resposta sugerida posteriormente:
1º: Verifique com o comando mount, se o diretório está montado
mount | grep <mountpoint>
dirá se há alguma coisa montada lá. Se você realmente deseja ter certeza de que a coisa certa está montada lá, você pode usar um regex mais complexo, mas não acho que seja necessário.