Desmontar / desassociar um sistema de arquivos? Posso apenas usar 'rm'?

3

Eu usei isso para dar ao usuário ftp de chroot acesso a outra área do sistema de arquivos:

mount --bind /var/www/dev/ /home/ftp_user/www_dev

por este site aqui .

E, oops, percebi que dei ao usuário do ftp acesso a muitos arquivos.

Como faço para corrigir isso? rmdir não funciona:

rmdir: failed to remove 'www_dev': Device or resource busy

E, se tiver, tenho medo de remover os arquivos montados.

    
por Buttle Butkus 19.01.2015 / 03:10

2 respostas

8

tente umount -l /home/ftp_user/www_dev .

isso desanexará o sistema de arquivos imediatamente e limpará todas as referências deixadas quando não estiver mais ocupado.

fonte: link

    
por 19.01.2015 / 03:28
1

Eu vejo que essa pergunta tem a tag "desmontar", que está exatamente certa: parece exatamente o que precisa ser feito.

Em geral, a maneira de desmontar algo que foi criado com o comando mount é usar umount. (Não "desmontar". "Umount".)

umount / home / ftp_user / www_dev

Isso fará com que o / home / ftp_user / www_dev pare de conter os dados montados. E / home / ftp_user / www_dev será um diretório vazio. E nesse ponto, você pode rmdir o diretório diretório / home / ftp_user / www_dev vazio se você quiser, já que ele não terá nada a ver com a origem montada anteriormente (que parece ser o diretório / var / www / dev / em seu exemplo).

Note que nada do que eu disse é específico para o comando --bind, mas é exatamente como as montagens são tratadas em geral.

Nota: Você tem certeza que deu "acesso a muitos arquivos" ao "usuário ftp"? Talvez / var / www / dev / tenha arquivos que o usuário ftp não deveria ter acesso, mas o usuário ftp pode não ter permissões para acessar esses arquivos. Você pode ter feito as coisas muito bem, e poderia confirmar isso, verificando quais ações são realmente possíveis quando você está realmente logado como o usuário ftp. É claro que, com um entendimento completo das permissões do Unix, você poderia fazer isso sem efetuar login, mas o login pode ser a maneira mais simples de realizar um teste rápido sem precisar de alguns dos detalhes mais avançados sobre como as permissões funcionam.

Nota 2: Claro, em muitos sistemas Unix, você pode aprender mais sobre o comando executando "man umount", que você pode encontrar digitando "apropos mount" já que você tinha motivos para suspeitar que esses efeitos foram causados por o comando anterior "mount". Se você não estiver familiarizado com o mount e o umount e fizer algo como tentar rmdir um diretório, isso indica que você não se familiarizou com algumas coisas muito básicas sobre o sistema operacional que está usando. Se você estiver executando um sistema que está fornecendo serviços a outros usuários e estiver em condições de lidar com permissões, esses tipos de básico (como o arquivo / etc / fstab, como outro exemplo relacionado) são coisas que valem a pena conhecer, a fim de supervisionar com segurança o sistema usado por várias pessoas. Você pode querer procurar um tutorial ou livro ou algum outro material de treinamento relacionado à execução do Unix (ou Linux ou algo tecnicamente similar). Por exemplo, mount e umount fazem parte da certificação LPIC-1 do Linux Professional Institute (que é muito relacionada à certificação Linux + da CompTIA), então o material de treinamento para essas certificações provavelmente fornecerá detalhes e muitas outras coisas que você provavelmente achará úteis .

    
por 19.01.2015 / 03:33