「プログラミングPerl」では-w
、ファイルテスト演算子は次のように説明されています。
–w ファイルは有効な UID/GID によって書き込み可能です。
私は2つのファイルを持っています:
-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
. その演算子の正しい使用法を理解していなかった可能性があります。
私の感謝。