CARVIEW |
- #chown LIST
-
Changes the owner (and group) of a list of files. The first two elements of the list must be the numeric uid and gid, in that order. A value of -1 in either position is interpreted by most systems to leave that value unchanged. Returns the number of files successfully changed.
my $cnt = chown $uid, $gid, 'foo', 'bar'; chown $uid, $gid, @filenames;
On systems that support fchown(2), you may pass filehandles among the files. On systems that don't support fchown(2), passing filehandles raises an exception. Filehandles must be passed as globs or glob references to be recognized; barewords are considered filenames.
Here's an example that looks up nonnumeric uids in the passwd file:
print "User: "; chomp(my $user = <STDIN>); print "Files: "; chomp(my $pattern = <STDIN>); my ($login,$pass,$uid,$gid) = getpwnam($user) or die "$user not in passwd file"; my @ary = glob($pattern); # expand filenames chown $uid, $gid, @ary;
On most systems, you are not allowed to change the ownership of the file unless you're the superuser, although you should be able to change the group to any of your secondary groups. On insecure systems, these restrictions may be relaxed, but this is not a portable assumption. On POSIX systems, you can detect this condition this way:
use POSIX qw(pathconf _PC_CHOWN_RESTRICTED); my $can_chown_giveaway = ! pathconf($path_of_interest, _PC_CHOWN_RESTRICTED);
Portability issues: "chown" in perlport.
Perldoc Browser is maintained by Dan Book (DBOOK). Please contact him via the GitHub issue tracker or email regarding any issues with the site itself, search, or rendering of documentation.
The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the Perl issue tracker, the mailing list, or IRC to report any issues with the contents or format of the documentation.