#!/usr/bin/perl # High speed recursive permission changer $pwd = `pwd`; $pwd = s/ /\\ /g; $dmode = @ARGV[0]; $fmode = @ARGV[1]; $user = @ARGV[2]; $group = @ARGV[3]; $verbose = @ARGV[4]; if (!$fmode || !$dmode) { print "Usage: perms.pl dirmode filemode [-v]\n"; exit(); } $files = `find $pwd`; @files = split("\n",$files); $i = 0; $j = 0; foreach $file (@files) { if (-d $file) { if ($verbose) { print "Setting permissions (".$dmode.", ".$uid.":".$gid.") on $file...\n"; } chmod oct($dmode), $file; # system("chown ".$user.":".$group." \"".$file."\""); # system("chmod ".$dmode." \"".$file."\""); } else { if ($verbose) { print "Setting permissions (".$fmode.", ".$gid.":".$uid.") on $file...\n"; } chmod oct($fmode), $file; # system("chown ".$user.":".$group." \"".$file."\""); # system("chmod ".$fmode." \"".$file."\""); } if (!$verbose) { $i++; print "Set permissions on ".$i." objects..."; print "\r"; } } if (!$verbose) { print "\n"; }