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


3

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

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

por este site aqui .

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

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

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

E se isso acontecesse, tenho medo de remover os arquivos montados.

Respostas:


8

experimentar umount -l /home/ftp_user/www_dev.

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

fonte: http://linux.die.net/man/8/umount


Ótimo! obrigado. Esta é sua primeira resposta neste site? Eu agradeço.
Buttle Butkus

Sim. originalmente parou por fazer uma pergunta do excel, mas ainda / atualmente pensando como perguntar isso. deparei com a sua pergunta de alguma forma. feliz em ajudar!
erich

Hmm, eu sei algumas coisas sobre o excel. Sobre o que é isso?
Buttle Butkus

é programático, então eu vou perguntar no stackoverflow. vai ligar aqui quando eu descobri. tia
erich

correção pedante - é estereotipada, não programática. aqui está a minha pergunta: stackoverflow.com/questions/28018779/…
erich

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" para "o usuário ftp"? Talvez o / var / www / dev / possua arquivos que o usuário do ftp não deveria ter acesso, mas o usuário do 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 executar um teste rápido sem precisar de alguns dos detalhes mais avançados sobre como as permissões funcionam.

Nota 2: Claro que, 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 ​​pelo anterior " montar "comando. Se você não estiver familiarizado com o mount e o humount e fizer algo como tentar rmdir um diretório, isso indica que você não se familiarizou com algumas coisas 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á tais detalhes e muitas outras coisas que você provavelmente achará úteis .


Eu dei ao usuário acesso a todos os arquivos do site, mas percebi que tudo o que ele realmente precisa é de acesso a uma pasta javascript. Eu preferi dar a ele o menor acesso necessário. Eu realmente tentei correr umount algumas vezes e me disse que o dispositivo estava ocupado. Então finalmente funcionou. Eu realmente não tentei a resposta de Erich, mas parece que iria cuidar do device busy mensagem de erro que eu estava recebendo.
Buttle Butkus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.