Concedi agli utenti ftp l'accesso alle directory esterne alla loro radice usando i collegamenti simbolici


8

Ho provato a dare agli utenti virtuali proftpd l'accesso alle directory esterne ai loro percorsi domestici usando i collegamenti simbolici che ho creato come root attraverso la console.

/var/ftp/users/test è la casa dell'utente di nome test.
/var/ftp/files/documents è la directory che contiene i documenti ed /var/ftp/users/test/documents è il collegamento simbolico che punta ad esso.

Ma quando un utente si connette all'FTP e cerca di seguire il collegamento simbolico, vede solo questo errore:

documents: No such file or directory

Che cosa sto facendo di sbagliato?

Risposte:


21

I collegamenti simbolici sono bloccati nella prigione allo stesso modo dell'utente; altrimenti sarebbe possibile per l'utente uscire con il carcere cd documents. (No, i symlink creati da root non possono essere trattati in modo speciale, per lo stesso motivo che cd -P symlink-to-dir; cd ..ti lascia nel posto sbagliato; il suo aspetto funzionante come ti aspetteresti è un'illusione creata dalla shell.) Usa invece un mount bind ( mount --bind /var/ftp/files/documents /var/ftp/users/test/documents).


Questo deve essere fatto ogni volta che il server si riavvia, giusto?
Sebastián Grignoli il

1
Sì; ti consigliamo di inserirlo /etc/fstab.
geekosaur,

7
Solo per esempio per aiutare chiunque altro, ecco i quivelant mount e fstab: mount mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0
Benjamin Kaiser
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.