#!/usr/bin/perl use Net::LDAP; use Net::LDAP::Entry; $DEBUG = 0; $base_dn = "o=domain.com"; $ldap_host = "ldap.server.com"; $dirmgr_passwd = "123456"; sub usage () { print "Usage:\n"; print "$PROGRAM_NAME {Add/Remove} Netgroup Userid \n"; print "Example: $PROGRAM_NAME add winnipeg-users Userid\n"; print "Example: $PROGRAM_NAME del goldeye-users Userid\n\n"; } if ( @ARGV != 3 ) { usage (); exit (1); } ############################################################################# # Open the LDAP connection # sub openldap { my $ldap; $ldap = Net::LDAP->new($ldap_host) or die "$@"; $ldap -> bind ("cn=directory manager", password => $dirmgr_passwd); return ($ldap); } sub addtonisnetgroup { my $ldap = shift; my $nisnetgroup = shift;# $entry = Net::LDAP::Entry->new; $result =$entry->add( 'nisnetgrouptriple' => '$userid' , dn => "cn=$nsnetgroup, ou=netgroup, $base_dn",); # $result->code && warn "failed to add entry: ", $result->error ; } $ldap = openldap (); ($task, $netgroup, $userid) = @ARGV; addtonisnetgroup($task, $nsnetgroup, $userid);