sudo chown 失敗,不允許操作

sudo chown 失敗,不允許操作

我在這裡發現了類似的問題,但為這些問題提供的答案並不能解決我的問題。

如果我做:

sudo chown <username> main.m

我收到不允許操作的錯誤。

先前錯誤的一般解決方案是:

sudo chflags nouchg main.m

清除鎖定標誌。但是,執行此操作後,我仍然無法 chown 該文件。我也嘗試過:

chflags noschg main.m

在單一使用者模式下沒有任何運氣 - 我收到一個操作不允許的錯誤。

如果有人有任何想法,我會很感興趣。

答案1

Mac 檔案可以透過四種方式進行保護 我知道的不同方式:

  1. 標準 Unix 所有權和權限,例如使用者/群組/其他人的 r/w/x,您可以使用 和 看到並ls -l修復。chown(1)chmod(1)
  2. 文件標誌如uchgschg您用 看到ls -lO並用 修復chflags(1)
  3. 舊的 Finder 元數據“鎖定位”,您可以通過GetFileInfo filename.您也可以查看 Finder 元資料的存在,但看不到其意義ls -l@。您可以使用 修復它SetFile(1) 沒關係,這uchg現在已映射到標誌上。
  4. ls -le您可以透過與 ACL 相關的參數查看和修復的存取控制清單 (ACL) chmod(1)

因此,讓我們將所有這些標誌組合起來,看看您的文件發生了什麼ls

ls -lO@e main.m

聽起來你已經知道如何處理#1 和#2 了。

如果您看到 ACL (#4),您可以使用與 ACL 相關的參數來修復它chmod(1)

如果您仍然感到困惑,請使用我上面建議的組合命令的輸出更新您的答案ls,以便我們可以看到發生了什麼。

相關內容