Linux

不允許操作。對於root使用者?

  • December 2, 2015

為了找到解決我昨天遇到的問題的方法(請參閱此處的問題),我進行了另一個實驗。

插入快閃記憶體驅動器 (vfat) 並掛載其唯一分區後,我想知道:如果我更改掛載點的權限怎麼辦?好吧,這應該可以解決我所有的問題,所以我繼續(以 root 身份):

起初我試圖改變所有者:

root# chown root:root /media/MOUNT_POINT

注意:/media/MOUNT_POINT 是系統自動創建的

當命令的答案是:**不允許操作。**什麼?有什麼東西即使是root也不允許?

好的,這並沒有阻止我,然後嘗試:

root# chown 000 /media/MOUNT_POINT

這一次,沒有消息,但之後

ls -l /media

我有

drwx------  4  miranda miranda 4096 Apr 10 05:41 24EE-9E3C

如您所見,該文件夾仍然擁有所有權限。我嘗試了從 000 到 666 的所有組合(當然是使用腳本),結果是一樣的。

發生了什麼?我錯過了什麼?甚至更重要。這可以做到嗎?

提前致謝。

vfat 文件系統不支持權限。當您在掛載分區時嘗試修改掛載點的所有權或權限時,它適用於已掛載文件系統的根目錄,而不是您要掛載的目錄。

如果您的目標是使文件系統只讀,請嘗試使用-o ro.

您可以在不解除安裝的情況下使用mount -o remount,ro /media/MOUNT_POINT.

顯然,El Capitan 包含一項稱為系統完整性保護 (SIP) 的功能,可防止修改關鍵目錄。在上面的輸出中,這由“restricted”標誌指示。在撰寫本文時,我的研究表明解決此問題的唯一方法是重新啟動、禁用 SIP、進行更改、重新啟動、啟用 SIP。您可以在 Stack Overflow 上找到概述的過程,但我將在此處重新列印以方便使用。

重啟。按 Cmd+R 進入恢復模式。打開實用程序->終端。執行命令 csrutil disable。重啟。您回到了禁用 SIP 的 OS X 中。進行更改。重啟。按 Cmd+R 進入恢復模式。打開實用程序->終端。執行命令 csrutil enable。重啟。

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