當前位置: 首頁>>技術教程>>正文


如何掛載 HFS+ 驅動器並忽略權限

, , , ,

問題描述

我在我的 MacBook 上安裝了 Ubuntu 和 Windows,而 Ubuntu 是我的主要操作係統;但是,我所有的媒體都保留在我的 OSX 分區上。我希望能夠從 Ubuntu 訪問它(至少是我的 OSX 用戶的主文件夾),而無需以 root 身份啟動媒體播放器(或其他任何東西)。另外,因為我偶爾想在 OSX 中啟動我的機器,所以我不想更改我需要經常更改的任何內容(我閱讀了很多關於更改 UID 的內容——我不完全理解這意味著什麽,但我不想根據我使用的操作係統來回更改我的 UID。同樣,我不想來回更改文件係統權限)。

另外,我看到了一些關於 “noowner” 選項的信息,但這似乎並沒有達到我想要的效果。

所以我想我希望能夠做這樣的事情:

sudo mount -t hfsplus -o noowner /dev/sda2/ /media/Mac

然後能夠訪問我的所有媒體(至少是我的 OSX 用戶主文件夾中的所有內容),而無需以 root 身份訪問。 (為了清楚起見:上麵的命令行條目沒有做我想做的事情,但我希望能夠做類似的事情)。

還是更改我的 UID 會更好?如果是這樣,怎麽辦?

最佳回答

bindfs 就是答案。它將采用已安裝的文件係統,並使用您想要的任何 uid 提供它的視圖:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

次佳回答

我無法弄清楚如何忽略權限,但我最終更改了我的 Ubuntu 帳戶上的 UID 以匹配我的 OSX 帳戶:

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
sudo passwd tempuser

輸入新密碼。注銷,使用用戶名 “tempuser” 和您之前選擇的密碼以 “other” 身份登錄。打開終端並輸入:

sudo usermod --uid 501 yourusername
sudo chown -R 501:yourusername /home/yourusername

*將 “yourusername” 更改為您的非臨時用戶名,將 501 更改為您的 Mac 帳戶的 UID(第一個 Mac 帳戶從 501 開始,但後續用戶將有不同的 UID)。

退出 tempuser 並重新登錄到您的普通帳戶(這很重要;不要隻是切換用戶——壞事會發生)。打開終端窗口並輸入:

sudo userdel -r tempuser

有關詳細信息,請訪問 this page

Caveats

  • 隻有一個 linux 用戶可以訪問。此設置將不允許多個 linux 用戶訪問 HFS+ 驅動器上的多個用戶目錄。這是因為 Apple 將用戶目錄(以及音樂等媒體目錄)鎖定為 700 ( rwx------ )。

  • 更改 UID 後,登錄管理器將停止列出該用戶。您必須將 /etc/login.def 中的 UID_MIN 選項從 1000 更改為 500

  • 最後,由於用戶 UID 發生了變化,對驅動器的訪問變成了權限混亂。您必須記下用戶主文件夾的確切位置才能查看它。對於沒有 sudo 的原始 Apple 用戶主文件夾之外的文件夾,選項卡補全和瀏覽文件管理器將成為問題。

第三種回答

documentation for the linux kernel implementation of the HFS+ filesystem 列出了一個 uid 掛載選項,允許您 “own” 所有文件(也許還有一些其他可能有用的選項)。

第四種回答

我知道這已經過時了,但還有另一種方法似乎對我來說效果很好。由於所有文件都歸 “root” 用戶所有,我所做的隻是從終端發出 su root 並從那裏發出 ls -lah /media/Macintosh HD。通過使用 root,我能夠繞過權限被拒絕錯誤。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12776.html,未經允許,請勿轉載。