_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/chown - pakeičia failų sąrašo savininką

  • chown LIST

    Pakeičia failų sąrašo savininką (ir grupę). Pirmieji du sąrašo elementai privalo būti skaitiniai uid ir gid, būtent tokia tvarka. Reikšmė -1 bet kurioje pozicijoje daugumos sistemų traktuojama, kad reikia reikšmę palikti nepakeistą. Gražina sėkmingai pakeistų failų kiekį.

        $cnt = chown $uid, $gid, 'foo', 'bar';
        chown $uid, $gid, @filenames;

    Pavyzdys, kuris ieško neskaitinių uid passwd faile:

        print "User: ";
        chomp($user = <STDIN>);
        print "Files: ";
        chomp($pattern = <STDIN>);
        ($login,$pass,$uid,$gid) = getpwnam($user)
    	or die "$user not in passwd file";
        @ary = glob($pattern);	# išplėsti failų pavadinimus
        chown $uid, $gid, @ary;

    Daugumoje sistemų negalima keisti failo savininko nesant superuser'iu, tačiau savo grupės antrines grupes keisti galima. Nesaugiose sistemose šie apribojimai gali būti laisvesni, bet tai nėra geras sumanymas siekiant portabilumo. POSIX sisetmose, sąlygą galima aptikti tokiu būdu:

        use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
        $can_chown_giveaway = not sysconf(_PC_CHOWN_RESTRICTED);
algirdas@perl.lt 2005.04.11 - $dabar