1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# Copyright (C) 2019-2020 Gonéri Le Bouder
#
# This file is part of cloud-init. See LICENSE file for license information.
import os
import platform
import cloudinit.distros.netbsd
from cloudinit import log as logging
from cloudinit import subp
from cloudinit import util
LOG = logging.getLogger(__name__)
class Distro(cloudinit.distros.netbsd.NetBSD):
hostname_conf_fn = '/etc/myname'
def _read_hostname(self, filename, default=None):
return util.load_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]
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):
pass
def _get_pkg_cmd_environ(self):
"""Return env vars used in OpenBSD package_command operations"""
os_release = platform.release()
os_arch = platform.machine()
e = os.environ.copy()
e['PKG_PATH'] = (
'ftp://ftp.openbsd.org/pub/OpenBSD/{os_release}/'
'packages/{os_arch}/').format(
os_arch=os_arch, os_release=os_release)
return e
# vi: ts=4 expandtab
|