在“Programming Perl”-w
文件测试运算符中描述为:
-w 文件可由有效的 UID/GID 写入。
我有两个文件:
-rwsrwxrwx 1 testuser testuser 226 Jul 20 20:31 script.pl
-rw-rw-r-- 1 testuser testuser 34 Jul 14 17:24 file.txt
suid
设置为 on script.pl
,所以当我以用户 caligula 运行它时,有效的 UID/GID 应该是 testuser 的。script.pl
是:
#!/usr/bin/perl
use v5.14;
if (-w 'file.txt') {
say "true";
}
else {
say "false";
}
但是当我运行它时caligula@ubuntu-host:~$ ./script.pl
,输出总是false
. 为什么会发生这种情况,可能是我不了解该运算符的正确用法?
我的赞赏。