Я хочу использовать perl File :: Find :: Rule, чтобы найти на сервере файлы с разрешением 777
Я знаю, что в модуле есть тесты статистики, поэтому я мог бы просто сделать это:
$rule->mode(33279)
Я нашел 33279, создав файл и распечатав на нем разрешение, предполагая, что File :: Find :: Rule принимает десятичное число? или это нужно как-то отформатировать?
Это правильный подход, чтобы все файлы имели разрешения 777?
это скрипт, который находит все файлы в домашнем каталоге тестового сервера. Я хочу изменить его так, чтобы он находил только те, которые имеют разрешения 777.
#!/usr/bin/perl
use strict;
use warnings;
use File::Find::Rule;
my $rule = File::Find::Rule->new;
$rule->file;
$rule->name( '*' );
my @files = $rule->in( "/root" );
for my $file (@files) {
my $mode = (stat $file)[2];
printf ("%04o %s\n",$mode & 07777, $file);
}