Sudo error on AIX 7.1

Hello,

I tried installing sudo on a lab AIX server. It has been successfully installed. but i still see the below errors.

[root@LPAR]/>sudo -V
Sudo version 1.8.27


Configure options: --prefix=/opt/freeware --sbindir=/opt/freeware/sbin --libdir=/opt/freeware/lib --mandir=/opt/freeware/man --with-logging=syslog --with-logfac=auth --with-pam --with-pam-login --with-env-editor --with-ignore-dot --with-aixauth --with-tty-tickets --with-ldap --with-ldap-conf-file=/opt/freeware/etc/openldap/ldap.conf

sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: unable to load /opt/freeware/libexec/sudo/sudoers.so:     0509-022 Cannot load module /opt/freeware/lib/libldap.a(libldap-2.4.so.2).
        0509-150   Dependent module /opt/freeware/lib/libssl.a(libssl.so) could not be loaded.
        0509-152   Member libssl.so is not found in archive
        0509-022 Cannot load module /opt/freeware/libexec/sudo/sudoers.so.
        0509-150   Dependent module /opt/freeware/lib/libldap.a(libldap-2.4.so.2) could not be loaded.
sudo: fatal error, unable to load plugins
[root@LPAR]/>
[root@LPAR]/>
[root@LPAR]/>ls -ltr /etc/sudo.conf
ls: 0653-341 The file /etc/sudo.conf does not exist.
[root@LPAR]/>ls -ltr /opt/freeware/libexec/sudo/sudoers.so
-rw-r--r--    1 root     system      2262416 Sep 12 06:26 /opt/freeware/libexec/sudo/sudoers.so
[root@LPAR]/>ls -ltr /opt/freeware/lib/libldap
libldap-2.4.a       libldap-2.4.so.2    libldap.a           libldap_r-2.4.a     libldap_r-2.4.so.2  libldap_r.a
[root@LPAR]/>ls -ltr /opt/freeware/lib/libldap
libldap-2.4.a       libldap-2.4.so.2    libldap.a           libldap_r-2.4.a     libldap_r-2.4.so.2  libldap_r.a
[root@LPAR]/>ls -ltr /opt/freeware/lib/libldap.a
lrwxrwxrwx    1 root     system           13 Sep 27 13:55 /opt/freeware/lib/libldap.a -> libldap-2.4.a
[root@LPAR]/>ls -ltr /opt/freeware/lib/libssl.a
-rw-r--r--    1 root     system      4477977 Jun 11 2012  /opt/freeware/lib/libssl.a
[root@LPAR]/>ls -ltr /opt/freeware/libexec/sudo/sudoers.so
-rw-r--r--    1 root     system      2262416 Sep 12 06:26 /opt/freeware/libexec/sudo/sudoers.so
[root@LPAR]/>ls -ltr /opt/freeware/lib/libldap.a
lrwxrwxrwx    1 root     system           13 Sep 27 13:55 /opt/freeware/lib/libldap.a -> libldap-2.4.a
[root@LPAR]/>
[root@LPAR]/>sudo su -
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: unable to load /opt/freeware/libexec/sudo/sudoers.so:     0509-022 Cannot load module /opt/freeware/lib/libldap.a(libldap-2.4.so.2).
        0509-150   Dependent module /opt/freeware/lib/libssl.a(libssl.so) could not be loaded.
        0509-152   Member libssl.so is not found in archive
        0509-022 Cannot load module /opt/freeware/libexec/sudo/sudoers.so.
        0509-150   Dependent module /opt/freeware/lib/libldap.a(libldap-2.4.so.2) could not be loaded.
sudo: fatal error, unable to load plugins
[root@LPAR]/>

Here is the procedure I followed to install sudo

downloaded the sudo RPM package from AIX toolbox for linux applications and tried installing, received dependency error.
sudo-1.8.27-3.aix6.1.ppc.rpm

+-----------------------------------------------------------------------------+
                          RPM  Error Summary:
+-----------------------------------------------------------------------------+
The following errors occurred during installation:
error: Failed dependencies:
        libibmldap.a is needed by sudo-1.8.27-3.ppc
                                                                        COMMAND STATUS

Command: failed        stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

geninstall -I "a -cgNpQqwXY -V2 -J"  -Z -p  -d . -f File 2>&1

File:
    sudo
    sudo-1.8.27-3



Validating RPM package selections ...


+-----------------------------------------------------------------------------+
                          RPM  Error Summary:
+-----------------------------------------------------------------------------+
The following errors occurred during installation:
error: Failed dependencies:
        libibmldap.a is needed by sudo-1.8.27-3.ppc

Then i found below link to fix the dependency error
Missing ibmibmldap64.a file for AIX

installed below filesets

 idsldap.clt32bit64.rte    6.4.0.19  COMMITTED  Directory Server - 32 bit
  idsldap.clt64bit64.rte    6.4.0.19  COMMITTED  Directory Server - 64 bit
  idsldap.cltbase64.adt     6.4.0.19  COMMITTED  Directory Server - Base Client
  idsldap.cltbase64.rte     6.4.0.19  COMMITTED  Directory Server - Base Client
  idsldap.license64.rte     6.4.0.19  COMMITTED  Directory Server - License
  idsldap.msg64.en_US       6.4.0.19  COMMITTED  Directory Server - Messages -
  idsldap.clt32bit64.rte    6.4.0.19  COMMITTED  Directory Server - 32 bit
  idsldap.clt64bit64.rte    6.4.0.19  COMMITTED  Directory Server - 64 bit
  idsldap.cltbase64.rte     6.4.0.19  COMMITTED  Directory Server - Base Client

then I was able to install sudo

Command: OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

geninstall -I "a -cgNQqwXY -V2 -J"  -Z   -d . -f File 2>&1

File:
    sudo



Validating RPM package selections ...

Please wait...
Preparing...                          ########################################
Updating / installing...
sudo-1.8.27-3                         ########################################

#which sudo
/usr/bin/sudo

How can I fix the above error (sudo: fatal error, unable to load plugins)?

--- Post updated at 05:46 PM ---

we do not use ldap or active directory for these servers.

--- Post updated at 05:54 PM ---

#rpm -qa | grep ldap
openldap-2.4.45-1.ppc

Your error message shows that this is missing:

/opt/freeware/libexec/sudo/sudoers.so

Please post the results of this:

ls -l /opt/freeware/libexec/sudo/

I am surprised by:

[root@LPAR]/>ls -ltr /opt/freeware/lib/libssl.a
-rw-r--r--    1 root     system      4477977 Jun 11 2012  /opt/freeware/lib/libssl.a

I am not sure that at that date you had AIX 7.1
I suggest you read this link:
Bull Freeware
Erreur OpenSSL lors de la MAJ 7.1TL5-SP1-1731 - www.ahix.fr
As I wonder if your issue is something of the sort...

1 Like

Thanks Neo for the reply.

here is the output

[root@LPAR]/>ls -ltr /opt/freeware/libexec/sudo/sudoers.so
ls: 0653-341 The file /opt/freeware/libexec/sudo/sudoers.so does not exist.
[root@LPAR]/>ls -ltr /opt/freeware/libexec/
total 0
drwxr-xr-x    3 root     system          256 Jul 11 2018  gcc
[root@LPAR]/>

--- Post updated at 02:35 PM ---

Thanks vbe for your reply. I see this "libssl.a" file only on this LPAR. I will take a look at the link.

But do you guys have any suggestion on installing sudo on AIX 7.1. like how you did in your environment. Till today, it was not really necessary.

--- Post updated at 02:46 PM ---

@neo

Sorry I was trying in different ways, actually uninstalled the below filesets

idsldap.clt32bit64.rte 6.4.0.19 ROOT DEINSTALL SUCCESS
idsldap.clt32bit64.rte 6.4.0.19 USR DEINSTALL SUCCESS
idsldap.clt64bit64.rte 6.4.0.19 ROOT DEINSTALL SUCCESS
idsldap.clt64bit64.rte 6.4.0.19 USR DEINSTALL SUCCESS
idsldap.msg64.en_US 6.4.0.19 USR DEINSTALL SUCCESS
idsldap.cltbase64.adt 6.4.0.19 USR DEINSTALL SUCCESS
idsldap.cltbase64.rte 6.4.0.19 ROOT DEINSTALL SUCCESS
idsldap.cltbase64.rte 6.4.0.19 USR DEINSTALL SUCCESS
idsldap.license64.rte 6.4.0.19 USR DEINSTALL SUCCESS

Thats why it says
[root@LPAR]/>ls -ltr /opt/freeware/libexec/sudo/sudoers.so
ls: 0653-341 The file /opt/freeware/libexec/sudo/sudoers.so does not exist.

otherwise it was there, please see information in my question.

--- Post updated at 03:08 PM ---

We're not using Active directory and ldap in our environment

which of these below files needs to be installed ?

-rw-r--r--    1 aixuser  staff       1572717 Nov 21 15:04 sudo-1.8.27-3.aix6.1.ppc.rpm
-rw-r--r--    1 aixuser  staff       2260604 Nov 21 16:12 sudo_ids-1.8.27-3.aix6.1.ppc.rpm

Update: Re-installed sudo in the same way.

[root@AIXLPAR]/>ls -ltr /opt/freeware/libexec/sudo/sudoers.so
-rw-r--r--    1 root     system      2262416 Sep 12 06:26 /opt/freeware/libexec/sudo/sudoers.so



[root@AIXLPAR]/>which sudo
/usr/bin/sudo
[root@AIXLPAR]/>/usr/bin/sudo -V
Sudo version 1.8.27
Configure options: --prefix=/opt/freeware --sbindir=/opt/freeware/sbin --libdir=/opt/freeware/lib --mandir=/opt/freeware/man --with-logging=syslog --with-logfac=auth --with-pam --with-pam-login --with-env-editor --with-ignore-dot --with-aixauth --with-tty-tickets --with-ldap --with-ldap-conf-file=/opt/freeware/etc/openldap/ldap.conf
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: unable to load /opt/freeware/libexec/sudo/sudoers.so:     0509-022 Cannot load module /opt/freeware/lib/libldap.a(libldap-2.4.so.2).
        0509-150   Dependent module /opt/freeware/lib/libssl.a(libssl.so) could not be loaded.
        0509-152   Member libssl.so is not found in archive
        0509-022 Cannot load module /opt/freeware/libexec/sudo/sudoers.so.
        0509-150   Dependent module /opt/freeware/lib/libldap.a(libldap-2.4.so.2) could not be loaded.
sudo: fatal error, unable to load plugins
[root@AIXLPAR]/>

--- Post updated at 05:51 PM ---

@Neo

please see the below output

[root@AIXLPAR]/>ls -l /opt/freeware/libexec/sudo/
total 10000
-rw-r--r--    1 root     system         1008 Sep 12 06:26 group_file.la
-rw-r--r--    1 root     system       480311 Sep 12 06:26 group_file.so
-rw-r--r--    1 root     system          990 Sep 12 06:26 libsudo_util.la
lrwxrwxrwx    1 root     system           21 Nov 25 16:41 libsudo_util.so -> libsudo_util.so.0.0.0
lrwxrwxrwx    1 root     system           21 Nov 25 16:41 libsudo_util.so.0 -> libsudo_util.so.0.0.0
-rwxr-xr-x    1 root     system      1422797 Sep 12 06:26 libsudo_util.so.0.0.0
-rw-r--r--    1 root     system          953 Sep 12 06:27 sudo_noexec.la
-rw-r--r--    1 root     system       474192 Sep 12 06:27 sudo_noexec.so
-rw-r--r--    1 root     system         1018 Sep 12 06:26 sudoers.la
-rw-r--r--    1 root     system      2262416 Sep 12 06:26 sudoers.so
-rw-r--r--    1 root     system         1020 Sep 12 06:27 system_group.la
-rw-r--r--    1 root     system       449242 Sep 12 06:27 system_group.so
[root@AIXLPAR]/>
[root@AIXLPAR]/>lslpp -l | grep -i "ldap"
[root@AIXLPAR]/>rpm -qa | grep -i "ldap"
openldap-2.4.45-1.ppc
[root@AIXLPAR]/>

Not sure if applicable to you, but when I've had to install sudo on AIX I pull the packages directly from Todd's website:
Download Sudo

I've had so many issues with the toolkit that some packages are just better to install one off.

I will state, that if you obligations is to use sudo with One Identity, the files from sudo.ws will work.

1 Like

Hello friends,

seems to be working after making below changes. Thanks vbe. could you please check if this properly installed. operations seems to be working after updating /etc/sudoers file using visudo.

***

[root@AIXLPAR]/>ls -ltr /usr/lib/libssl.a /opt/freeware/lib/libssl.a
-r-xr-xr-x    1 root     system      8595301 May 18 2018  /usr/lib/libssl.a
lrwxrwxrwx    1 root     system           17 Nov 26 15:13 /opt/freeware/lib/libssl.a -> /usr/lib/libssl.a
[root@AIXLPAR]/>ls -ltr /usr/lib/libcrypto.a /opt/freeware/lib/libcrypto.a
-r-xr-xr-x    1 root     system     34258888 Jun 05 18:06 /usr/lib/libcrypto.a
lrwxrwxrwx    1 root     system           20 Nov 26 15:17 /opt/freeware/lib/libcrypto.a -> /usr/lib/libcrypto.a
[root@AIXLPAR]/>
[root@AIXLPAR]/>lslpp -l | grep -i "ldap"
[root@AIXLPAR]/>rpm -qa | grep -i "ldap"
openldap-2.4.45-1.ppc
[root@AIXLPAR]/>
[aixuser@AIXLPAR]/home/aixuser>sudo -V
Sudo version 1.8.27
Sudoers policy plugin version 1.8.27
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.27
[aixuser@AIXLPAR]/home/aixuser>sudo su -
[root@AIXLPAR]/>
[root@AIXLPAR]/>sudo -V
Sudo version 1.8.27
Configure options: --prefix=/opt/freeware --sbindir=/opt/freeware/sbin --libdir=/opt/freeware/lib --mandir=/opt/freeware/man --with-logging=syslog --with-logfac=auth --with-pam --with-pam-login --with-env-editor --with-ignore-dot --with-aixauth --with-tty-tickets --with-ldap --with-ldap-conf-file=/opt/freeware/etc/openldap/ldap.conf
Sudoers policy plugin version 1.8.27
Sudoers file grammar version 46

Sudoers path: /etc/sudoers
ldap.conf path: /opt/freeware/etc/openldap/ldap.conf
ldap.secret path: /etc/ldap.secret
Authentication methods: 'aixauth' 'pam'
Syslog facility if syslog is being used for logging: auth
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Ignore '.' in $PATH
Send mail if the user is not in sudoers
Lecture user the first time they run sudo
Require users to authenticate by default
Root may run sudo
Allow some information gathering to give useful error messages
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 5.0 minutes
Password prompt timeout: 5.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to lecture status dir: /var/lib/sudo/lectured
Path to authentication timestamp dir: /var/run/sudo/ts
Default password prompt: Password:
Default user to run commands as: root
Path to the editor for use by visudo: /usr/bin/vi
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Reset the environment to a default set of variables
Environment variables to check for sanity:
        TZ
        TERM
        LINGUAS
        LC_*
        LANGUAGE
        LANG
        COLORTERM
Environment variables to remove:
        *=()*
        RUBYOPT
        RUBYLIB
        PYTHONUSERBASE
        PYTHONINSPECT
        PYTHONPATH
        PYTHONHOME
        TMPPREFIX
        ZDOTDIR
        READNULLCMD
        NULLCMD
        FPATH
        PERL5DB
        PERL5OPT
        PERL5LIB
        PERLLIB
        PERLIO_DEBUG
        JAVA_TOOL_OPTIONS
        SHELLOPTS
        BASHOPTS
        GLOBIGNORE
        PS4
        BASH_ENV
        ENV
        TERMCAP
        TERMPATH
        TERMINFO_DIRS
        TERMINFO
        AUTHSTATE
        LIBPATH
        LDR_*
        _RLD*
        LD_*
        PATH_LOCALE
        NLSPATH
        HOSTALIASES
        RES_OPTIONS
        LOCALDOMAIN
        CDPATH
        IFS
Environment variables to preserve:
        XAUTHORIZATION
        XAUTHORITY
        PS2
        PS1
        PATH
        LS_COLORS
        KRB5CCNAME
        HOSTNAME
        DISPLAY
        COLORS
Locale to use while parsing sudoers: C
Compress I/O logs using zlib
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use: sudo
PAM service name to use for login shells: sudo-i
Attempt to establish PAM credentials for the target user
Create a new PAM session for the command to run in
Maximum I/O log sequence number: 0
Enable sudoers netgroup support
Check parent directories for writability when editing files with sudoedit
Allow commands to be run even if sudo cannot write to the audit log
Allow commands to be run even if sudo cannot write to the log file
Log entries larger than this value will be split into multiple syslog messages: 960
File mode to use for the I/O log files: 0600
Execute commands by file descriptor instead of by path: digest_only
Type of authentication timestamp record: tty
Ignore case when matching user names
Ignore case when matching group names

Local IP address and netmask pairs:
        10.x.x.x/255.x.x.x

Sudoers I/O plugin version 1.8.27
[root@AIXLPAR]/>

@RecoveryOne

Thanks much for your help! I like this instead of tool box rpm packages. this is straight forward. :):b:

--- Post updated at 03:22 PM ---

this with below package downloaded from Download Sudo

sudo-1.8.29-1.ppc

  • no dependency issues.
[root@AIXLPAR]/>sudo -V
Sudo version 1.8.29
Configure options: --prefix=/opt/freeware --mandir=/opt/freeware/man --with-insults=disabled --with-logging=syslog --with-logfac=auth --with-editor=/usr/bin/vi --with-env-editor --enable-zlib=builtin --disable-nls --with-sendmail=/usr/sbin/sendmail --enable-warnings --enable-package-build --disable-tmpfiles.d
Sudoers policy plugin version 1.8.29
Sudoers file grammar version 46

Sudoers path: /etc/sudoers
Authentication methods: 'aixauth' 'pam'
Syslog facility if syslog is being used for logging: auth
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Send mail if the user is not in sudoers
Lecture user the first time they run sudo
Require users to authenticate by default
Root may run sudo
Allow some information gathering to give useful error messages
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 5.0 minutes
Password prompt timeout: 5.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to lecture status dir: /var/lib/sudo/lectured
Path to authentication timestamp dir: /var/run/sudo/ts
Default password prompt: Password:
Default user to run commands as: root
Path to the editor for use by visudo: /usr/bin/vi
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Reset the environment to a default set of variables
Environment variables to check for sanity:
        TZ
        TERM
        LINGUAS
        LC_*
        LANGUAGE
        LANG
        COLORTERM
Environment variables to remove:
        *=()*
        RUBYOPT
        RUBYLIB
        PYTHONUSERBASE
        PYTHONINSPECT
        PYTHONPATH
        PYTHONHOME
        TMPPREFIX
        ZDOTDIR
        READNULLCMD
        NULLCMD
        FPATH
        PERL5DB
        PERL5OPT
        PERL5LIB
        PERLLIB
        PERLIO_DEBUG
        JAVA_TOOL_OPTIONS
        SHELLOPTS
        BASHOPTS
        GLOBIGNORE
        PS4
        BASH_ENV
        ENV
        TERMCAP
        TERMPATH
        TERMINFO_DIRS
        TERMINFO
        AUTHSTATE
        LIBPATH
        LDR_*
        _RLD*
        LD_*
        PATH_LOCALE
        NLSPATH
        HOSTALIASES
        RES_OPTIONS
        LOCALDOMAIN
        CDPATH
        IFS
Environment variables to preserve:
        XAUTHORIZATION
        XAUTHORITY
        PS2
        PS1
        PATH
        LS_COLORS
        KRB5CCNAME
        HOSTNAME
        DISPLAY
        COLORS
Locale to use while parsing sudoers: C
Compress I/O logs using zlib
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use: sudo
PAM service name to use for login shells: sudo
Attempt to establish PAM credentials for the target user
Create a new PAM session for the command to run in
Perform PAM account validation management
Maximum I/O log sequence number: 0
Enable sudoers netgroup support
Check parent directories for writability when editing files with sudoedit
Allow commands to be run even if sudo cannot write to the audit log
Allow commands to be run even if sudo cannot write to the log file
Log entries larger than this value will be split into multiple syslog messages: 960
File mode to use for the I/O log files: 0600
Execute commands by file descriptor instead of by path: digest_only
Type of authentication timestamp record: tty
Ignore case when matching user names
Ignore case when matching group names
Log when a command is allowed by sudoers
Log when a command is denied by sudoers

Local IP address and netmask pairs:
        10.x.x.x./255.x.x.x

Sudoers I/O plugin version 1.8.29
[root@AIXLPAR]/>

Glad to be of help!
The toolbox has some AIX level requirements, and well... for my lpars I'm not at the latest or compatible versions for various reasons. So, I went right to the software's source and installed it outside of the toolbox.

The thing I don't like is now its one more package that I must keep track of and a simple 'yum update' won't pull down latest. But it meets the needs.

Take care!