Current Dir: /snap/core22/2955/usr/lib/python3/dist-packages/cloudinit/distros/
[DIR] package_management [ delete | rename ]
[DIR] parsers [ delete | rename ]
[DIR] __pycache__ [ delete | rename ]
[FILE] almalinux.py [ edit | delete | rename ]
[FILE] alpine.py [ edit | delete | rename ]
[FILE] amazon.py [ edit | delete | rename ]
[FILE] aosc.py [ edit | delete | rename ]
[FILE] arch.py [ edit | delete | rename ]
[FILE] azurelinux.py [ edit | delete | rename ]
[FILE] bsd.py [ edit | delete | rename ]
[FILE] bsd_utils.py [ edit | delete | rename ]
[FILE] centos.py [ edit | delete | rename ]
[FILE] cloudlinux.py [ edit | delete | rename ]
[FILE] cos.py [ edit | delete | rename ]
[FILE] debian.py [ edit | delete | rename ]
[FILE] dragonflybsd.py [ edit | delete | rename ]
[FILE] eurolinux.py [ edit | delete | rename ]
[FILE] fedora.py [ edit | delete | rename ]
[FILE] freebsd.py [ edit | delete | rename ]
[FILE] gentoo.py [ edit | delete | rename ]
[FILE] mariner.py [ edit | delete | rename ]
[FILE] miraclelinux.py [ edit | delete | rename ]
[FILE] netbsd.py [ edit | delete | rename ]
[FILE] networking.py [ edit | delete | rename ]
[FILE] openbsd.py [ edit | delete | rename ]
[FILE] OpenCloudOS.py [ edit | delete | rename ]
[FILE] openeuler.py [ edit | delete | rename ]
[FILE] openmandriva.py [ edit | delete | rename ]
[FILE] opensuse-leap.py [ edit | delete | rename ]
[FILE] opensuse-microos.py [ edit | delete | rename ]
[FILE] opensuse-tumbleweed.py [ edit | delete | rename ]
[FILE] opensuse.py [ edit | delete | rename ]
[FILE] photon.py [ edit | delete | rename ]
[FILE] raspberry_pi_os.py [ edit | delete | rename ]
[FILE] rhel.py [ edit | delete | rename ]
[FILE] rhel_util.py [ edit | delete | rename ]
[FILE] rocky.py [ edit | delete | rename ]
[FILE] sle-micro.py [ edit | delete | rename ]
[FILE] sles.py [ edit | delete | rename ]
[FILE] sle_hpc.py [ edit | delete | rename ]
[FILE] suse.py [ edit | delete | rename ]
[FILE] TencentOS.py [ edit | delete | rename ]
[FILE] ubuntu.py [ edit | delete | rename ]
[FILE] ug_util.py [ edit | delete | rename ]
[FILE] virtuozzo.py [ edit | delete | rename ]
[FILE] __init__.py [ edit | delete | rename ]
Viewing: /snap/core22/2955/usr/lib/python3/dist-packages/cloudinit/distros/openbsd.py
# Copyright (C) 2019-2020 Gonéri Le Bouder
#
# This file is part of cloud-init. See LICENSE file for license information.
import logging
import cloudinit.distros.netbsd
from cloudinit import subp, util
LOG = logging.getLogger(__name__)
class Distro(cloudinit.distros.netbsd.NetBSD):
hostname_conf_fn = "/etc/myname"
init_cmd = ["rcctl"]
# For OpenBSD (from https://man.openbsd.org/passwd.5) a password field
# of "" indicates no password, and password field values of either
# "*" or "*************" (13 "*") indicate differing forms of "locked"
# but with no password defined.
shadow_empty_locked_passwd_patterns = [
r"^{username}::",
r"^{username}:\*:",
r"^{username}:\*\*\*\*\*\*\*\*\*\*\*\*\*:",
]
def _read_hostname(self, filename, default=None):
return util.load_text_file(self.hostname_conf_fn)
def _write_hostname(self, hostname, filename):
content = hostname + "\n"
util.write_file(self.hostname_conf_fn, content)
def _get_add_member_to_group_cmd(self, member_name, group_name):
return ["usermod", "-G", group_name, member_name]
@classmethod
def manage_service(cls, action: str, service: str, *extra_args, rcs=None):
"""
Perform the requested action on a service. This handles OpenBSD's
'rcctl'.
May raise ProcessExecutionError
"""
init_cmd = cls.init_cmd
cmds = {
"stop": ["stop", service],
"start": ["start", service],
"enable": ["enable", service],
"disable": ["disable", service],
"restart": ["restart", service],
"reload": ["restart", service],
"try-reload": ["restart", service],
"status": ["check", service],
}
cmd = list(init_cmd) + list(cmds[action])
return subp.subp(cmd, capture=True, rcs=rcs)
def lock_passwd(self, name):
try:
subp.subp(["usermod", "-p", "*", name])
except Exception:
util.logexc(LOG, "Failed to lock user %s", name)
raise
def unlock_passwd(self, name):
LOG.debug(
"OpenBSD password lock is not reversible, "
"ignoring unlock for user %s",
name,
)
def _get_pkg_cmd_environ(self):
"""Return env vars used in OpenBSD package_command operations"""
return {}