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 )