sysrc: Detect permission denied when using sysrc

This commit is contained in:
David Lundgren 2025-07-15 11:52:22 -05:00
commit 3d79d948ec
No known key found for this signature in database
GPG key ID: 2B78584C498D2A5E

View file

@ -193,6 +193,8 @@ class Sysrc(object):
cmd.extend(args)
(rc, out, err) = self.module.run_command(cmd)
if err.find("Permission denied"):
raise PermissionError("Permission denied for %s" % self.path)
return (rc, out, err)
@ -226,8 +228,11 @@ def main():
jail=module.params.pop('jail')
)
sysrc = Sysrc(module, name, result['value'], result['path'], result['delim'], result['jail'])
result['changed'] = getattr(sysrc, result['state'])()
try:
sysrc = Sysrc(module, name, result['value'], result['path'], result['delim'], result['jail'])
result['changed'] = getattr(sysrc, result['state'])()
except PermissionError as err:
module.fail_json(msg=str(err))
module.exit_json(**result)