Something went wrong on our end
-
Nicolas KAROLAK authoredNicolas KAROLAK authored
0_setup.py 1.04 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import utils
def setup(interactive=True):
# Create / update admin account
utils.log('Checking admin account')
cmds = list()
code, out = utils.exec_cmd(['id', 'admin'])
if code != 0:
cmds.append('groupadd -f admin')
cmds.append('useradd -m -g admin -s /bin/bash admin')
out = ''
if 'sudo' not in out:
cmds.append('usermod -aG sudo admin')
cmds.append('mkdir -p /home/admin/.ssh')
cmds.append('chmod 700 /home/admin/.ssh')
cmds.append('chown -R admin:admin /home/admin/.ssh')
utils.run_commands(cmds)
# Set password if any
pwd = utils.get_conf('SHELL_ADMIN_PWD')
if pwd:
p = subprocess.Popen(['passwd', '-q', 'admin'], stdin=subprocess.PIPE)
p.communicate(input=b'%(pwd)s\n%(pwd)s' % {b'pwd': pwd.encode('utf-8')})
if p.returncode != 0:
raise Exception('Failed to set admin account password.')
utils.log('\033[1;33m The admin account password has been set. \033[0m')