- fix user@0.service failed to start [SME: 12568] - stop loging in audit crond success - drop cpu and use esmith:util::ldap [SME: 12663]
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/perl -w
 | |
| 
 | |
| #----------------------------------------------------------------------
 | |
| # copyright (C) 1999-2005 Mitel Networks Corporation
 | |
| # copyright (C) 2024 Koozali Foundation inc.
 | |
| # 
 | |
| # This program is free software; you can redistribute it and/or modify
 | |
| # it under the terms of the GNU General Public License as published by
 | |
| # the Free Software Foundation; either version 2 of the License, or
 | |
| # (at your option) any later version.
 | |
| # 		
 | |
| # This program is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| # GNU General Public License for more details.
 | |
| # 		
 | |
| # You should have received a copy of the GNU General Public License
 | |
| # along with this program; if not, write to the Free Software
 | |
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 | |
| # 
 | |
| # Technical support for this program is available from Mitel Networks 
 | |
| # Please visit our web site www.mitel.com/sme/ for details.
 | |
| #----------------------------------------------------------------------
 | |
| 
 | |
| package esmith;
 | |
| 
 | |
| use strict;
 | |
| use Errno;
 | |
| use esmith::util;
 | |
| use esmith::ConfigDB;
 | |
| use esmith::util::ldap;
 | |
| 
 | |
| my $conf = esmith::ConfigDB->open_ro
 | |
|     or die "Could not open Config DB";
 | |
| 
 | |
| my $ldapauth = $conf->get('ldap')->prop('Authentication') || 'disabled';
 | |
| my $x = 0; # exit value
 | |
| 
 | |
| # prepare LDAP bind
 | |
| my $ldap=esmith::util::ldap->new();
 | |
| 
 | |
| my $event = $ARGV [0];
 | |
| my $userName = $ARGV [1];
 | |
| 
 | |
| #------------------------------------------------------------
 | |
| # Delete the Unix account.
 | |
| #------------------------------------------------------------
 | |
| 
 | |
| die "Username argument missing." unless defined ($userName);
 | |
| 
 | |
| if ($ldapauth ne 'enabled')
 | |
| {
 | |
|     esmith::util::cancelUserPassword ($userName);
 | |
| 
 | |
|     my $discard = `/usr/sbin/userdel -r '$userName'`;
 | |
|     if ($? != 0)
 | |
|     {
 | |
|         ( $x = 255, warn "Failed to delete (unix) account $userName.\n" );
 | |
|     }
 | |
| }
 | |
| else
 | |
| {
 | |
|     my $discard = `/bin/rm -rf /home/e-smith/files/users/$userName`;
 | |
|     if ($? != 0)
 | |
|     {
 | |
|         ( $x = 255, warn "Failed to delete home dir of account $userName.\n" );
 | |
|     }
 | |
| 
 | |
| }
 | |
| # delete user
 | |
| my $result = $ldap->ldapdeluser($userName);
 | |
| $result && ( $x = $ldapauth ne 'enabled' ? $x : 255, warn "Failed to delete (ldap) account $userName.\n" );
 | |
| 
 | |
| # delete user dedicated group
 | |
| $result = $ldap->ldapdelgroup($userName);
 | |
| $result && ( $x = $ldapauth ne 'enabled' ? $x : 255, warn "Failed to delete (ldap) group account $userName.\n" );
 | |
| 
 | |
| exit ($x);
 |