簡體   English   中英

macOS 無法刪除帶有 sunlnk 標志的文件夾

[英]macOS cannot delete folder with a sunlnk flags

當我嘗試將/usr/local中的某些文件夾復制到標准用戶的文件夾時,我發現有一個名為“local”的文件夾我無法刪除,即使使用

# rm -rf local
rm: local: Operation not permitted

它告訴我“不允許操作”,但我確實擁有超級用戶權限。 然后我想可能是flags有問題,flag信息是:

# ls -al
drwxr-xr-x  2 root    wheel   68 Oct 10 10:04 local
# ls -lO
drwxr-xr-x  2 root  wheel  sunlnk 68 Oct 10 10:04 local

看來我也不能改變它的標志。 那么sunlnk是什么意思,我可以做些什么來刪除空文件夾?

由於“系統完整性保護”,MacOS 中的“sunlnk”標志,因此只有在禁用系統完整性保護后才能刪除帶有“sunlnk”標志的文件。 禁用系統完整性保護的方法是將計算機重新啟動到恢復模式,然后進入實用程序>終端,在其中鍵入

# csrutil status
# csrutil disable

然后reboot計算機。 做完自己想要的東西后記得通過csrutil enable再次開啟它。 有關更多詳細步驟,請參閱https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/

如果您無法訪問任何文件或文件夾,或者任何終端命令不適用於特定目錄 - 是時候回顧 macOS 沙箱和 POSIX 權限了!

檢查 SIP 狀態,因此將以下命令寫入終端:

csrutil status

你會得到這個:

/*   System Integrity Protection status: enabled.   */

如果狀態為enabled ,則需要禁用 SIP。

要在 macOS 上關閉無根/系統完整性保護,請執行以下步驟:

  1. 要非常小心 在此處閱讀有關 SIP 的信息
  2. 關閉 Mac(Apple > 關機)。
  3. 按住Command - R並按電源按鈕...
  4. 等待 macOS 啟動到 macOS 實用程序窗口。
  5. 選擇實用程序 > 終端。
  6. 輸入csrutil disable
  7. 重啟。

要再次啟用 SIP,請重復步驟 2-5 並在終端中輸入以下命令:

csrutil enable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM