oracle-databasesetuid

Oracle Enterprise Manager Error - NMO setuid (root)


I've been trying for days to fix the "Connection to host as user SYSDBA failed.ERROR: NMO not setuid-root (Unix-only)".

All, without exception, of the blogs I visited, say that in order to fix the issue, it's only needed to run the root.sh script as root, where script path is $ORACLE_HOME. I did that during Oracle Grid and Database install as requested, but re-run to make sure.

If i list the permissions of nmo and nmb binary files after running the root.sh, i get:

ls -la ./nm? -rws--x--- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rws--x--- 1 root oinstall 44437 Apr 16 02:05 ./nmo

After following tutorials, i did: chown root nmo chmod 6750 nmo chown root nmb chmmod 6750 nmb

permissions went like so:

ls -la ./nm? -rwsr-s--- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rwsr-s--- 1 root oinstall 44437 Apr 16 02:05 ./nmo

Above permissions are according to what most blogs said they should be like. SO I relaunched EM:

emctl stop dbconsole emctl start dbconsole

and Still got the error. I am almost performing a fresh install of Grid and Database, because I repeated the procedures multiple times, backed up /etc/oratab, deleted it and re run root.sh (so it could recreate oratab and fix possible mistakes).

I installed everything following the documentation, opened root.sh and referenced scripts so I could read them, but found nothing suspect.

My EM version is 11.2.0.3.0

I am running Oracle Linux under VirtualBox.

AGAIN: I've executed the root.sh as suggested in 99% of the websites regarding the setuid nmo error... Any clues or different procedures?

Thanks.


Solution

  • Check if the filesystem that $ORACLE_HOME is in, is mounted with the nosuid option. If it is, that will prevent any executable running as root, even if SUID bit is set.