1 Reply Latest reply on Oct 8, 2014 6:31 AM by Swapnil Patil

    blquery net_flags as non-root user

    Steven Alexson

      I created an extended object several years ago to report network configurations for managed servers (Re: How do you retireve a networks card speed, is it captured already). I ran into an issue yesterday with roles that map to non-root users on UNIX/Linux servers. All of the data gets collected and reported EXCEPT the network speed (i.e 100Mb/s Full Duplex). To report this information, the EO uses a blquery to check the net_flags data.


      When the EO is executed as a role that maps to root on the target server, all the information is presented correctly. If the EO is executed against the same server as a role mapping to a non-root user, the interface speed does not get reported. It seems that the blquery for net_flags leverages something on the target server that requires root access to read. I cannot seem to identify what this dependency is. I thought it might be ifconfig, as it is not in a standard user's path. To test this, I added placed a copy of ifconfig into the path of the user, but saw no change int he behavior of the EO.


      Given a target server, RedHat Linux 6.x in this case, if I run the EO as a role mapping to root, I get a net_flags value of '68' for the interface I am checking. This translates to 1Gb/s Full Duplex. If I check the same interface on the same server through the EO with a role mapping to a non-root user, net_flags returns a value of '0'. As I said, ALL other data for the EO is returned properly, similarly gathered through blquery. I am only having the issue with the net_flags command to blquery.


      I would really like to know what mechanism blquery's net_flags relies on, so I can develop a solution to this problem.