Problem:
When a normal user tried to run topas command on AIX 5.3 server, the following errors were received:
myuserid [AIXserver] /home/myuserid: topas
ERROR: Assert Failure in file=”nmonDisplay.c” in function=”init_diskadapter_stats” at line=3137
ERROR: Reason=System call returned -1
ERROR: Expression=[[retcode=perfstat_diskadapter(&perfid,p->adapt, sizeof(perfstat_diskadapter_t), adapters)]]
ERROR: errno=13
ERROR: errno means : Permission denied
ERROR: Sizeof cpu=592 cpu_total=664 disk=480 diskadapter=192 diskpath=304 disktotal=64, memory=208 netbuff=120 netif=208 netiftotal=64 paging=240 partition=480 protocol=720
myuserid [AIXserver] /home/myuserid: oslevel -s 5300-12-01-1016
Root cause:
The setuid bit was removed for file /usr/lib/perf/libperfstat_updt_dictionary
myuserid [AIXserver] /home/myuserid: ls -l /usr/lib/perf/libperfstat_updt_dictionary -rwxr-xr-x 1 root system 8582 Mar 12 2010 /usr/lib/perf/libperfstat_updt_dictionary
Solution:
Add setuid bit to /usr/lib/perf/libperfstat_updt_dictionary
root [AIXserver] /# chmod u+s /usr/lib/perf/libperfstat_updt_dictionary
root [AIXserver] /# ls -l /usr/lib/perf/libperfstat_updt_dictionary -rwsr-xr-x 1 root system 8582 Mar 12 2010 /usr/lib/perf/libperfstat_updt_dictionary
Now topas works for normal user.
