【发布时间】:2017-02-04 10:54:00
【问题描述】:
我已经使用 GNU/Linux 超过 10 年了,所以我认为自己对文件权限非常熟悉。
为了测试以下代码,我在“undo_path”上使用了“chmod -w”。然后我使用 ls -al 验证了该文件没有写权限。它显示:
-r--r--r-- 1 andy andy 52 Sep 26 18:17 lastrmw
然后我尝试了代码。两次。两次 remove() 语句都是成功的。
if (remove (undo_path))
{
fprintf (stderr, "Warning: failed to remove %s\n", undo_path);
perror (__func__);
}
没有写权限的文件怎么删除?
我正在使用 Debian 8/Jessie 和我的内核:Linux oceanus 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
【问题讨论】:
-
文件权限与文件的内容有关。
-
但是再想一想:是否有其他类型的文件,其文件名本身就是内容的一部分?
-
谢谢,@KerrekSB,我看到当我在文件上使用 rm 时,我只会在删除之前收到删除它的提示。有趣的是我以前从未意识到这一点。
-
'这只是
rm的礼貌,完全由其自行决定。您可以使用-f禁用它。 -
我知道 -f,谢谢。通常我只在 rm'ing 目录时使用它。 :) 好吧,现在我知道了。
标签: c linux file-permissions chmod