Я пытаюсь создать базовый установщик инструментов для Kali Linux, в основном сценарий, который устанавливает все инструменты, которые обычно приходится устанавливать вручную, но также создает нового пользователя и переключается на него.
Мой сценарий до сих пор выглядит так:
# --------------
# Imports
# --------------
import os
import getpass
# --------------
# Get Username
user = getpass.getuser()
# -
# Colors
colorGreen = "\033[1; 32; 40m end="""
# -
# --------------
# Functions
# --------------
# Update & Upgrade
def upgrade():
os.system('sudo apt update && sudo apt upgrade')
# -
# Add new User
def addUser():
print("### Creating a Low Priv User ###")
user = input("Choose a username: ")
os.system('sudo adduser ' + user)
print("### Adding new user to Sudo ###")
os.system("sudo usermod -aG sudo " + user)
os.system("sudo chsh -s /bin/bash " + user)
print("### Done ###")
print("### Switching to new user... ###")
os.system("su " + user)
print("### Done! Welcome {}".format(user))
# --------------
# Function Calls
# --------------
upgrade()
addUser()
# -
Как только я достигну конца, который равен os.system("su " + user)
, сценарий естественным образом останавливается. su% username% - команда для переключения на вновь созданного пользователя.
В идеале, я хочу, чтобы после этого скрипт продолжал работать, поэтому я могу установить инструменты внутри вновь созданного пользователя.
Есть ли способ достичь этого? Или есть другой способ сделать это? Я знаю, что мог бы использовать что-то вроде git clone NewTool/home/{user}/opt/
и go оттуда, но это кажется неудобным.
Было бы здорово, если бы кто-то указал мне правильное направление!
Приветствия