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

NAME

Samba::SIDhelper - Create SIDs based on G/UIDs.

VERSION

Version 0.0.0

SYNOPSIS

    use Samba::SIDhelper;

    my $sidhelper = Samba::SIDhelper->new({sid=>'S-1-5-21-1234-56789-10111213'});

    my $sid=$sidhelper->uid2sid('1002');
    if ($sidhelper){
        print "Error!\n";
    }

    $sid=$sidhelper->gid2sid('1002');
    if ($sidhelper){
        print "Error!\n";
    }

METHODS

new

args hash

sid

If this is specified, this base SID will be used instead of trying to automatically figure out what to use.

domain

If this is set to 1, it will try to use get the domain SID instead of the local SID.

    my $sidhelper->new({sid=>'S-1-5-21-1234-56789-10111213'});
    if($sidhelper->{error}){
        print "Error!\n";
    }

uid2sid

Convert a UID to SID.

   my $sid=$sidhelper->uid2sid('1002');
   if ($sidhelper){
       print "Error!\n";
   }

gid2sid

Convert a GID to SID.

   my $sid=$sidhelper->gid2sid('1002');
   if ($sidhelper){
       print "Error!\n";
   }

errorblank

This is a internal function and should not be called.

ERROR CODES

1

"net getdomainsid" exited with a non-zero.

2

"net getlocalsid" exited with a non-zero.

3

No UID specified.

4

No UID specified.

5

Non-numeric value for UID or GID.

SID DISCOVERY

This requires Samba to be installed. The command net is used, which requires this being ran as root.

CONVERSION METHOD

This uses the method from smbldap-tools.

    $sid=$uid*2+1000
    $sid=$gid*2+1001

This method means both both user and group info is can be stored in the same space. Groups are always odd, while users are always even.

AUTHOR

Zane C. Bowers, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-samba-sidhelper at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Samba-SIDhelper. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Samba::SIDhelper

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2009 Zane C. Bowers, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.