[sudo-users] sudo 1.8.6 + ldap delay on solaris 10

Patrick Spinler spinler.patrick at mayo.edu
Wed Jan 23 12:33:34 EST 2013


Using sudo 1.8.6p4 on Solaris 10 compiled to use ldap sudoers, we're
seeing a very long delay in executing any sudo command.

"sudo -l" returns almost instantly

"sudo ls" takes upwards of a minute to actually execute the invoked
sub-command

The local /etc/sudoers is empty except for a "root ALL=(ALL) NOPASSWD:
ALL" rule.

On the LDAP server logs, we see the sudo client query the default
settings, get a response, then over a minute later, query for allowable
sudo rules.

Truss'ing the local sudo process on the host, it appears to be in a loop
for most of that time doing this repeatedly:

5267:   79.3913 getuid()                                        = 249090 [0]
5267:   79.3914 getuid()                                        = 249090 [0]
5267:   79.3915 door_info(3, 0xFFFFFFFF7FFFEB78)                = 0
5267:   79.3938 door_call(3, 0xFFFFFFFF7FFFEC78)                = 0


Thoughts, anyone?

Thanks,
-- Pat


Sudo information:

$ sudo -V
Sudo version 1.8.6p4
Configure options: --prefix=/opt/mayo --with-ldap
--with-ldap-conf-file=/etc/sudo-ldap.conf
--with-ldap-secret-file=/etc/sudo-ldap.secret
Sudoers policy plugin version 1.8.6p4
Sudoers file grammar version 42

Sudoers path: /etc/sudoers
nsswitch path: /etc/nsswitch.conf
ldap.conf path: /etc/sudo-ldap.conf
ldap.secret path: /etc/sudo-ldap.secret
Authentication methods: '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
Use a separate timestamp for each user/tty combo
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
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 authentication timestamp dir: /var/lib/sudo
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:
        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
        GLOBIGNORE
        PS4
        BASH_ENV
        ENV
        TERMCAP
        TERMPATH
        TERMINFO_DIRS
        TERMINFO
        _RLD*
        LD_*
        PATH_LOCALE
        NLSPATH
        HOSTALIASES
        RES_OPTIONS
        LOCALDOMAIN
        CDPATH
        IFS
Environment variables to preserve:
        XAUTHORIZATION
        XAUTHORITY
        TZ
        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

Local IP address and netmask pairs:

Build related stuff:

env stuff:
compile.env

export PATH=${PATH}:/shares/nfs/unixarch/compiler/solarisstudio12.3/bin
export LDFLAGS="-L/usr/lib -L/usr/ccs/lib -R/usr/lib -R/usr/ccs/lib"
export CC="/shares/nfs/unixarch/compiler/solarisstudio12.3/bin/cc -m64 -xO5"
export CXX="/shares/nfs/unixarch/compiler/solarisstudio12.3/bin/CC -m64
-xO5"

source code is in /shares/nfs/unixarch/src/mayo/sudo

mkdir /shares/nfs/unixarch/src/mayo/build

cd build

../sudo/configure --prefix=/opt/mayo --with-ldap
--with-ldap-conf-file=/etc/sudo-ldap.conf
–with-ldap-secret-file=/etc/sudo-ldap.secret

dmake

sudo dmake install






More information about the sudo-users mailing list