diff --git a/inventory/any.cf b/inventory/any.cf index 80cdb481d4..5fad95f818 100644 --- a/inventory/any.cf +++ b/inventory/any.cf @@ -1167,9 +1167,16 @@ bundle agent cfe_autorun_inventory_dmidecode "dmi[$(dmivars)]" unless => isvariable("dmi[$(dmivars)]"), # This is just for system-uuid really, which we get from the awk script above by preference. +@if minimum_version(3.22.0) + # Some files (e.g. product_serial) are only readable by root. + if => isreadable( + "/sys/devices/virtual/dmi/id/$(sysfs_name_for[$(dmivars)])", 1 + ), +@else if => fileexists( "/sys/devices/virtual/dmi/id/$(sysfs_name_for[$(dmivars)])" ), +@endif string => readfile( "/sys/devices/virtual/dmi/id/$(sysfs_name_for[$(dmivars)])", 0 ),