[英]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 上關閉無根/系統完整性保護,請執行以下步驟:
csrutil disable
。要再次啟用 SIP,請重復步驟 2-5 並在終端中輸入以下命令:
csrutil enable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.