o x[hw @sDddlZddlZddlmZmZeeZGdddejj j Z dS)N)subputilc@sleZdZdZdgZgdZdddZddZd d Ze dd d e d e fddZ ddZ ddZ ddZdS)Distroz /etc/mynamercctl)z ^{username}::z^{username}:\*:z'^{username}:\*\*\*\*\*\*\*\*\*\*\*\*\*:NcCs t|jSN)rload_text_filehostname_conf_fn)selffilenamedefaultr ;/usr/lib/python3/dist-packages/cloudinit/distros/openbsd.py_read_hostname zDistro._read_hostnamecCs|d}t|j|dS)N )r write_filer)r hostnamer contentr r r _write_hostnameszDistro._write_hostnamecCs dd||gS)Nusermodz-Gr )r member_name group_namer r r _get_add_member_to_group_cmd"rz#Distro._get_add_member_to_group_cmd)rcsactionservicec Gs`|j}d|gd|gd|gd|gd|gd|gd|gd|gd}t|t||}tj|d|d S) z Perform the requested action on a service. This handles OpenBSD's 'rcctl'. May raise ProcessExecutionError stopstartenabledisablerestartcheck)rrrrr reloadz try-reloadstatusT)capturer)init_cmdlistr)clsrrr extra_argsr%cmdscmdr r r manage_service%s zDistro.manage_servicecCs8z tddd|gWdStyttd|w)Nrz-p*zFailed to lock user %s)r ExceptionrlogexcLOGr namer r r lock_passwd:s  zDistro.lock_passwdcCstd|dS)NzDOpenBSD password lock is not reversible, ignoring unlock for user %s)r/debugr0r r r unlock_passwdAszDistro.unlock_passwdcCsiS)z:Return env vars used in OpenBSD package_command operationsr )r r r r _get_pkg_cmd_environHszDistro._get_pkg_cmd_environr)__name__ __module__ __qualname__rr%#shadow_empty_locked_passwd_patternsrrr classmethodstrr+r2r4r5r r r r r s  r) loggingcloudinit.distros.netbsd cloudinitrr getLoggerr6r/distrosnetbsdNetBSDrr r r r s