Для него нет встроенных функций.Однако вы можете использовать основной модуль File::Find
для обхода дерева каталогов, getpwnam
для получения UID и chown
для смены владельца.1010 *
#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;
sub usage {
die "Usage: $0 USERNAME PATH\n";
}
my $username = shift or die usage;
my $uid = ( getpwnam $username )[2] or die "Non-existent user.\n";
my $path = shift or die usage;
if ( !-e $path ) {
die "Non-existent path.\n";
}
find( \&traverse, $path );
sub traverse {
chown $uid, -1, $_ or die "Failed to chown [$_]: $!";
}
Использование
chown_path USERNAME PATH