Mount

無法從使用者帳戶掛載 NTFS 分區

  • August 7, 2011

我正在嘗試在 openSuse 11.4 上掛載一個 Windows **ntfs分區。**當我使用 root 帳戶(直接或通過sudo)安裝它時,它安裝沒有問題。但是當我嘗試在沒有任何 root 權限的情況下安裝它時,它給了我以下錯誤:

Error opening '/dev/sda2': Permission denied
Failed to mount '/dev/sda2': Permission denied
Please check '/dev/sda2' and the ntfs-3g binary permissions,
and the mounting user ID. More explanation is provided at
http://ntfs-3g.org/support.html#unprivileged

我對相關設備的 fstab 條目是:

/dev/sda2   /media/Windows      ntfs       defaults,noauto,user  1 2

我已經在 Google 上搜尋了可能的解決方案,但我似乎一無所獲。

編輯1:

按照建議,我嘗試在 ntfs-3g 二進製文件上設置 UID/GID 位。所有文件(/sbin/mount.ntfs、/sbin/mount.ntfs-3g)都指向/usr/bin/ntfs-3g,所以我更改了它的權限。現在的權限是:

-rwsr-sr-x 1 root root 51512 Feb 18 22:18 ntfs-3g

但結果仍然相同,我得到相同的權限被拒絕錯誤。

編輯2:

對所有文件設置正確的權限後:

-rwsr-xr-x 1 root root 51512 Feb 18 22:18 ntfs-3g
brw-rw-rw- 1 root disk 8, 2 Aug  6 21:53 sda2
drwxrwxrwx 1 asad users 8192 Jul 30 13:09 Windows

我能夠在沒有特權使用者帳戶的情況下掛載。但是,現在當我嘗試使用同一帳戶解除安裝時,我得到:

asad@jb-laptop:~> umount /dev/sda2
umount: only root can unmount /dev/sda2 from /media/Windows

編輯3:

我終於找到了問題所在。出於某種原因,我需要在 fstab 中添加使用者而不是使用者,儘管我不明白為什麼。現在我有一個新問題:)

每當我解除安裝設備*/dev/sda2*時,文件權限最終會恢復為預設值(0660)。我試圖在 udev 中創建一個規則,但它似乎不起作用。

必須將ntfs-3g二進製文件設置為 uid root 才能使使用者掛載工作。您需要獲得塊設備和掛載點的權限。

sudo chmod 1755 /sbin/mount.ntfs-3g /usr/bin/ntfs-3g
sudo chmod 666 /dev/sda2
sudo chmod 777 /media/Windows

(注意:這些是 Debian 位置,對於 Suse,它們可能會有所不同,因此您需要檢查它們是否確實在這些位置。)

您還需要有ntfs-3g1.2506 或更高版本。

請參閱此處了解更多資訊:

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