Mount

如何在沒有root權限的情況下掛載圖像文件?

  • December 6, 2021

我可以在沒有 root 權限的情況下掛載文件系統映像嗎?通常我會這樣做:

mount -o loop DISK_IMAGE FOLDER

不使用 sudo 或設置 suid on mount,有沒有合適的方法來做到這一點?

我知道我可以使用fusermount一些 ISO 映像,但這是非常有限的,即使是 ISO 映像,我的一些映像也無法掛載,但mount始終有效。

您不能安裝管理員沒有以某種方式授予您安裝權限的任何內容。只有 root 可以呼叫mount系統呼叫。原因是有很多方法可以通過掛載來提升權限,例如在系統位置上掛載某些東西、使文件看起來屬於另一個使用者以及利用依賴於文件所有權的程序、創建 setuid 文件或利用錯誤在文件系統驅動程序中。

mount命令是 setuid root。但如果你不是 root,它只允許你掛載fstab.

fusermount命令是 setuid root。它只允許您通過 FUSE 驅動程序掛載東西,並限制您以這種方式提供具有任意所有權或權限的文件的能力(在大多數設置下,FUSE 掛載上的所有文件都屬於您)。

最好的辦法是找到一個能夠讀取磁碟映像的FUSE 文件系統。對於 ISO 9660 映像,請嘗試fuseisoUMfuse 的 ISO 9660 支持(在 Debian 下作為fuseiso9660軟體包提供)。

引用自:https://unix.stackexchange.com/questions/32008