Permissions

嘗試在 macOS 命令行上“rm -rf”我自己的目錄時權限被拒絕

  • April 15, 2022

我注意到rm -rf我的 macOS BigSur 有一個奇怪的行為。我為字型安裝創建了一個目錄:

~/code ❯ ls -la                                                         10:06:54
total 16
drwxr-xr-x  21 fredguth  staff   672 Oct 30 08:47 .
drwxr-xr-x+ 71 fredguth  staff  2272 Nov  5 10:07 ..
drwxr-xr-x   7 fredguth  staff   224 Nov  5 09:57 FontPro  <<<<======== This directory
...

我是使用者fredguth,目錄的所有者。

~/code ❯ whoami                                                  3m 34s 10:21:34
fredguth

我正在努力rm -rf FontPro

有時候是這樣的:

rm: FontPro/tfm/MinionPro-MediumItCapt-osf-l1-ly1--lcdfj.tfm: Permission denied
rm: FontPro/tfm/MinionPro-BoldIt-lf-t2a--base.tfm: Permission denied
...
rm: FontPro/dvips/a_fzbwjk.enc: Permission denied
rm: FontPro/dvips: Directory not empty
rm: FontPro: Directory not empty

我不明白。我rm -rf用於非空目錄,sudo如果我不嚴格需要,我不想使用。

是否有任何 macOS 設置阻止我rm -rf,或者我錯過了什麼?

新手誤區。關於評論建議:

~/code ❯ ls -ld FontPro/tfm
drwxr-xr-x  8156 root  staff  260992 Oct 26 21:26 FontPro/tfm

我剛剛意識到root擁有這個子目錄。這是罪魁禍首。

~/code ❯ sudo chown -R fredguth FontPro                             33s 10:33:20
~/code ❯ ls -ld FontPro/tfm                                             10:33:39
drwxr-xr-x  8156 fredguth  staff  260992 Oct 26 21:26 FontPro/tfm
~/code ❯ rm -rf FontPro                                                 10:33:44
~/code ❯ 

現在工作。

PS @JG7 和 @roaima,如果您發布答案,我可以將您的答案標記為正確的。

我遇到了類似的情況,但該文件夾歸我所有。原來我有一個 Docker for Mac 容器正在執行,它使用該文件夾作為綁定掛載。停止我的容器允許我刪除該文件夾。

> rm -rf The.Folder.In.Question/
rm: The.Folder.In.Question/: Permission denied
> docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                     NAMES
26072a9ee2d7   logtestmicroservice             "dotnet watch"           12 minutes ago   Up 12 minutes   0.0.0.0:55008->8080/tcp   LogTestMicroService_container
bcf515e5792e   logtestmicroservice_generator   "dotnet watch -- run…"   13 minutes ago   Up 13 minutes   0.0.0.0:55007->8080/tcp   LogTestMicroService_generator_container
> docker stop 26072a9ee2d7 bcf515e5792e
26072a9ee2d7
bcf515e5792e
> rm -rf The.Folder.In.Question/ && echo good
good

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