Il programma parrot può fare ciò che chiedi:intercettare le chiamate di sistema e reindirizzare determinati percorsi (ad esempio, tutti i percorsi che iniziano con /anonftp
vengono rimappati per accedere in modo trasparente ai file remoti tramite FTP). Funziona anche interamente nello spazio utente.
Tuttavia, nonostante una serie impressionante di protocolli di rete comuni e non comuni, parrot
non ha alcun modulo per eseguire simplefilesystem-> riscrittura del filesystem come richiesto. Dovrebbe essere abbastanza semplice da aggiungere, se conosci un po' di programmazione in linguaggio C.
In alternativa, bindfs (che gira sopra FUSE), funziona come mount --bind
nello spazio utente. (Ma questo va nella direzione opposta rispetto al reindirizzamento /home
a /fake-home
come dici nella tua domanda.)
Puoi usare PRoot quasi allo stesso modo del tuo esempio:
proot -b /fake-home:/home ls /home
A differenza di BindFS/FUSE, PRoot è in grado di associare file e directory che non possiedi.