Samba-LDAP

 view release on metacpan or  search on metacpan

lib/Samba/LDAP/User.pm  view on Meta::CPAN

        }

        $self->{usersdn} = "$user_ou,$self->{usersdn}";
    }

    my $userUidNumber = $args{user_uid};

    if ( !defined($userUidNumber) ) {
        $userUidNumber = $self->_get_next_id( $self->{usersdn}, 'uidNumber' );
    }
    elsif ( getpwuid($userUidNumber) ) {
        carp "Uid already $userUidNumber exists.\n";
    }

    my $createGroup   = 0;
    my $userGidNumber = $args{group};
    my $group         = Samba::LDAP::Group->new();

    # gid not specified ?
    if ( !defined($userGidNumber) ) {

scripts/smbldap-passwd  view on Meta::CPAN

    }
  } else {
    if ( $< != 0 ) {
      die "Only root can specify username\n";
    }
    $user= $arg; last;
  }
}

if (!defined($user)) {
  $user = getpwuid($<);		# $user=$ENV{"USER"};
}

# check if $user variable is not tainted
# [TODO] create proper user mask
$user =~ /^([-\@\ \w.]+\$?)$/ and $user = $1 or
  die "$0: username '$user' is tainted\n";


my ($dn,$ldap_master);
# First, connecting to the directory

scripts/smbldap-useradd  view on Meta::CPAN

  print "  -S	family name\n";
  print "  -M	local mailAddress (comma seperated)\n";
  print "  -T	mailToAddress (forward address) (comma seperated)\n";
  print "  -?	show this help message\n";
  exit (1);
}

my $ldap_master=connect_ldap_master();


# cause problems when dealing with getpwuid because of the
# negative ttl and ldap modification
my $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1";

if ($nscd_status == 0) {
  system "/etc/init.d/nscd stop > /dev/null 2>&1";
}


# Read only first @ARGV
my $userName = $ARGV[0];

scripts/smbldap-useradd  view on Meta::CPAN

					 ]
				);
    $add->code && die "failed to add entry: ", $add->error ;
  }
  $config{usersdn}="$user_ou,$config{usersdn}";
}

my $userUidNumber = $Options{'u'};
if (!defined($userUidNumber)) { 
  $userUidNumber=get_next_id($config{usersdn},"uidNumber");
} elsif (getpwuid($userUidNumber)) {
  die "Uid already exists.\n";
}

if ($nscd_status == 0) {
  system "/etc/init.d/nscd start > /dev/null 2>&1";
}

my $createGroup = 0;
my $userGidNumber = $Options{'g'};
# gid not specified ? 

scripts/smbldap-userinfo  view on Meta::CPAN

  print "  -o other\n";
  print "  -s shell\n";
  print "  -v show modified user record\n";
  exit (1);
}


my $user;
my $pass;
if ( $< != 0 ) {
  my $current_user = getpwuid($<);
  if ($current_user and $ARGV[0] and $current_user ne $ARGV[0] ) {
    die "Only root can change other users inormation\n";
  }
} else {
  if ( $ARGV[0] ) {
    $user = $ARGV[0];
  }
  $pass = 1;
}

if (!defined($user)) {
  $user = getpwuid($<);
}

my ($dn,$ldap_master);
# First, connecting to the directory
if ($< != 0) {
  # non-root user
  if (!defined($pass)) {
    # prompt for password
    print "UNIX password: ";
    system "stty -echo" if (-t STDIN);

scripts/smbldap-usermod  view on Meta::CPAN

my $_userUidNumber;
my $_userRid;
if (defined($tmp = $Options{'u'})) {
  if (defined($Options{'o'})) {
    $nscd_status = system "/etc/init.d/nscd status >/dev/null 2>&1";
	
    if ($nscd_status == 0) {
      system "/etc/init.d/nscd stop > /dev/null 2>&1";
    }

    if (getpwuid($tmp)) {
      if ($nscd_status == 0) {
	system "/etc/init.d/nscd start > /dev/null 2>&1";
      }

      print "$0: uid number $tmp exists\n";
      exit (6);
    }
    if ($nscd_status == 0) {
      system "/etc/init.d/nscd start > /dev/null 2>&1";
    }



( run in 0.274 second using v1.01-cache-2.11-cpan-8d75d55dd25 )