Linux (Pop_OS) 在没有适当权限的情况下删除了文件?

cod*_*oob 2 linux permissions rm

前几天我在做一些清理,决定删除一个我卡在我的开发环境中的日志文件,当我这样做时,我开始认为权限不应该让我,我不应该有权限。我不需要这个文件,但为什么它让我呢?这是之前和之后:

jim@jim-pop-os:~/development/apps/apoxeia/log$ ls -altr
total 441800  
-rwxr-xr-x  1 jim  jim          0 Jan 25  2020 .gitkeep  
-rw-r--r--  1 jim  jim          0 Jan 25  2020 bullet.log  
drwxr-xr-x  2 jim  jim       4096 Apr  9 22:13 .  
-rw-r--r--  1 root root    759153 Apr 20 08:31 production.log  
-rw-r--r--  1 jim  jim    1208297 May  3 18:03 development.log  
-rw-rw-r--  1 jim  jim  449190680 May  6 08:07 test.log  
drwxr-xr-x 25 jim  jim       4096 May  6 08:14 ..  
-rw-rw-r--  1 jim  jim    1214644 May  6 08:41 capistrano.log  
jim@jim-pop-os:~/development/apps/apoxeia/log$ rm production.log   
rm: remove write-protected regular file 'production.log'? y  
jim@jim-pop-os:~/development/apps/apoxeia/log$ ls -altr  
total 441052  
-rwxr-xr-x  1 jim jim         0 Jan 25  2020 .gitkeep  
-rw-r--r--  1 jim jim         0 Jan 25  2020 bullet.log  
-rw-r--r--  1 jim jim   1208297 May  3 18:03 development.log  
-rw-rw-r--  1 jim jim 449190680 May  6 08:07 test.log  
drwxr-xr-x 25 jim jim      4096 May  6 08:14 ..  
-rw-rw-r--  1 jim jim   1214644 May  6 08:41 capistrano.log  
drwxr-xr-x  2 jim jim      4096 May  6 21:14 .  
jim@jim-pop-os:~/development/apps/apoxeia/log$   
Run Code Online (Sandbox Code Playgroud)

请注意,文件 production.log 仅对 root 有写权限,但我删除了它,没有 root 权限。

那是怎么发生的?[抱歉格式化。查看了提示,但仍然没有看到更好的选择。]

use*_*686 5

删除文件不会写入文件——它只会写入您已经拥有wx权限的父目录。

(Linux 并没有真正的“删除文件”系统调用——它只有一个unlink调用,它通过删除指向文件的目录条目来工作……如果这是最后一个指针,那么实际的文件会得到垃圾收集。它与通过添加目录条目创建硬链接的链接相反。)