Linux
是否有允許在使用者空間中綁定不同位置的目錄(如 mount –bind)的 linux vfs 工具?
對於使用者程序,我想將目錄安裝在其他位置,但在沒有 root 權限的使用者空間中。類似於 mount –bind /origin /dest,但帶有 vfs 包裝器。就像一個使用者模式微調的 chroot。
該程序會將系統呼叫包裝到文件中以“替換”所需的路徑。可以使用如下命令行呼叫它:
bindvfs /fake-home:/home ls /home
我確信這已經存在了!:)
您可以使用與範例幾乎相同的方式使用PRoot :
proot -b /fake-home:/home ls /home
與 BindFS/FUSE 不同,PRoot 能夠綁定您不擁有的文件和目錄。
parrot程序可以做您要求的事情:攔截系統呼叫並重定向某些路徑(例如,所有以 開頭的路徑都
/anonftp
被重新映射以通過 FTP 透明地訪問遠端文件)。它也完全在使用者空間中執行。然而,儘管有一系列令人印象深刻的常見和不常見的網路協議,
parrot
但沒有任何模組可以像您要求的那樣進行簡單的文件系統->文件系統重寫。如果您了解一些 C 語言程式,那應該很容易添加。或者,bindfs (在FUSE之上執行)就像
mount --bind
在使用者空間中一樣工作。(但這與您在問題中提到的重定向相反/home
。/fake-home
)