Kbase P117087: SQL Explorer fails to connect to database when setuid bit enable on _sqlsrv2
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/05/2009 |
|
Status: Verified
SYMPTOM(s):
SQL Explorer gets error [JDBC Progress Driver]:Database not started. (8933) attempting to connect to database when setuid bit enabled for _sqlsrv2.
Using a secondary broker for SQL clients, unable to connect using sqlexp. Get message: Error: [JDBC Progress Driver]:Database not started. (8933).
Setuid bit is enabled for _sqlsrv2 executable
FACT(s) (Environment):
UNIX
Progress 9.x
OpenEdge 10.x
CAUSE:
The _sqlsrv2 is an executable linked to shared libraries.
When an execuable is linked to shared libraries, there are some security rules imposed by the operating system that will not allow the executable to function properly if it has the setuid bit enabled.
When the setuid bit is enabled then the executable can only load shared libraries from /usr/lib even though a shared library path environment variable (LD_LIBRARY_PATH, SHLIB_PATH, LIBPATH) is set that would include other directories which contain other shared library files.
If the _sqlsrv2 has the setuid bit enabled it will not be able to load needed runtime libraries and the process will terminate nearly immediately after launch.
FIX:
To correct the problem:
1. Set the UNIX permissions on the Progress SQL-92 server executable, _sqlsrv2, to 755 and the _waitfor to 755.
2. Leave the Progress database broker executable (_mprosrv) set to 4775. The files should then appear as follows:
-rwsrwxr-x 1 root xxx 1693006 Jun 6 2001 _mprosrv
-rwxr-xr-x 1 xxxxx xxx 595654 Jun 6 2001 _sqlsrv2