1 | #!/usr/bin/env python3 |
---|
2 | |
---|
3 | import os |
---|
4 | import subprocess |
---|
5 | |
---|
6 | """ |
---|
7 | @file otherservices.py |
---|
8 | @brief Script de inicio para cargar otros servicios complementarios. |
---|
9 | """ |
---|
10 | |
---|
11 | # Lanzar servicios complementarios del cliente. |
---|
12 | print(os.getenv('MSG_OTHERSERVICES', '.')) |
---|
13 | |
---|
14 | # Iniciar rsyslog, si es necesario. |
---|
15 | if not os.path.exists('/dev/log'): |
---|
16 | subprocess.run(['service', 'rsyslog', 'start']) |
---|
17 | |
---|
18 | # Adpatar la clave de "root" para acceso SSH. |
---|
19 | with open('/scripts/ogfunctions', 'r') as file: |
---|
20 | for line in file: |
---|
21 | if 'OPTIONS=' in line: |
---|
22 | pass_option = line.split('pass=')[1].split()[0] |
---|
23 | break |
---|
24 | else: |
---|
25 | pass_option = 'og' |
---|
26 | |
---|
27 | passwd = pass_option or 'og' |
---|
28 | subprocess.run(['passwd', 'root'], input=f'{passwd}\n{passwd}\n', text=True) |
---|
29 | |
---|
30 | # Cargar el entorno OpenGnsys en conexión SSH. |
---|
31 | subprocess.run(['cp', '-a', f'{os.getenv("OPENGNSYS")}/etc/preinit/loadenviron.sh', '/etc/profile.d/']) |
---|
32 | |
---|
33 | # Arrancar SSH. |
---|
34 | subprocess.run(['/etc/init.d/ssh', 'start'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) |
---|
35 | |
---|
36 | # Desactivado apagado de monitor. |
---|
37 | # subprocess.run(['setterm', '-blank', '0', '-powersave', 'off', '-powerdown', '0'], stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) |
---|
38 | |
---|
39 | # Activado WOL en la interfaz usada en arranque PXE. |
---|
40 | subprocess.run(['ethtool', '-s', os.getenv('DEVICE'), 'wol', 'g'], stderr=subprocess.DEVNULL) |
---|
41 | |
---|
42 | # TODO Localizar correctamente el script de arranque. |
---|
43 | if os.path.isfile('/opt/opengnsys/scripts/runhttplog.sh'): |
---|
44 | subprocess.run(['/opt/opengnsys/scripts/runhttplog.sh'], stderr=subprocess.DEVNULL) |
---|