Linux `mount --bind` ha fatto scomparire la cartella del client?


2

Ho provato a creare un utente VSFTPD con accesso a tutte le cartelle FTP dei nostri clienti. (gli utenti vengono tutti sottoposti a chroot nelle loro home directory, dove si trovano le cartelle public_html).

Quello che ho fatto è stato creare un nuovo utente FTP e creare una directory client all'interno /home/global_user/. Quindi ho usato il comando seguente per montare la directory utente del client nella directory utente globale, in questo modo:

mount --bind /home/global_user/client_directory /home/client/

Quello che è successo dopo è che in effetti la cartella è stata montata, ma tutti i file nella cartella originale sono spariti ! Non compaiono nemmeno nella nuova montatura.

Risposte:


2

mount --bind olddir newdir

Quindi dopo aver corso

mount --bind /home/global_user/client_directory /home/client/

i contenuti originali (nessuno) /home/global_user/client_directorysono disponibili anche in /home/client/. Non puoi vedere il contenuto originale di /home/clientperché hai sovrapposto la tua nuova directory vuota in cima!

Basta umountquesto e riprovare con gli argomenti invertiti.


Grazie per la tua risposta amico mio. Ho provato a smontare entrambe le cartelle e ottengo "device is busy" per entrambe le directory, anche quando lo sudo.
pilau,

Ciò significa che alcuni processi stanno toccando il target di mount ( /home/client) - assicurati che non ci siano shell e riprova ( lsof +D /home/clientpotrebbe aiutare). Oh, e ci stai solo provando umount /home/client.
Inutile

L'ho capito - umount -l / home / client / ha fatto il trucco :) Grazie per il tuo aiuto.
pilau,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.