The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Ubic::AccessGuard - class which guards all service operations

VERSION

version 1.12

SYNOPSIS

    use Ubic::AccessGuard;

    $guard = Ubic::AccessGuard->new($service); # take lock under $service->user
    undef $guard; # free lock

DESCRIPTION

Ubic::AccessGuard sets effective uid to specified service's user id if neccesary, and restore it back on destruction.

It's usage is limited, because when effective uid is not equal to real uid, perl automatically turns on tainted mode. Because of this, only tainted-safe code should be called when AccessGuard is active. Ubic doesn't start services under this guard, only takes locks and writes status files.

METHODS

new($service)

Construct new access guard object.

User will be changed into user apporpriate for running $service. It will be changed back on guard's desctruction.

AUTHOR

Vyacheslav Matjukhin <mmcleric@yandex-team.ru>