【发布时间】:2023-04-10 07:42:02
【问题描述】:
在“Programming Perl”-wfile-test 操作符中描述为:
-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 设置在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。为什么会这样,可能是我没理解那个操作符的正确用法?
感谢。
【问题讨论】:
-
仅供参考:Perl 5.16.0 现在可用,尽管这对除我以外的所有人来说可能都是旧消息,因为 tar 球中的最新日期是 2012-05-20,所以它是在那时打包的。
标签: perl unix access-rights