Skip to content
Snippets Groups Projects
Commit f7c44144 authored by ping's avatar ping
Browse files

Refactor of live_exam_os for ubuntu

parent 39bea0ff
Branches
No related tags found
No related merge requests found
Showing
with 110 additions and 55 deletions
#/bin/bash
. tools/functions.sh
echo " [User managing...]"
run_command_chroot useradd -m user
run_command_chroot usermod -aG video user
run_command_chroot usermod -aG input user
run_command_chroot usermod -aG plugdev user
run_command_chroot chown -R 1000:1000 /home/user/
#/bin/sh
. tools/functions.sh
echo " [Disable root user...]"
run_command_chroot passwd -l root
#/bin/sh
. tools/functions.sh
echo " [Enabling services...]"
run_command_chroot systemctl enable NetworkManager
run_command_chroot systemctl enable ufw
#/bin/bash
. tools/functions.sh
echo " [Compiling nexus-exam...]"
cd ..
run_command make build_nexus-exam SERVER=$SERVER CERT=$CERT EXAM_USER=$EXAM_USER EXAM_PWD=$EXAM_PWD
check_exit_code $? "Error during nexus-exam compilation"
if [[ "$ROOTFS_DIR" != /* ]]; then
mkdir -p live_exam_os/$ROOTFS_DIR/usr/local/bin
cp build/nexus-exam live_exam_os/$ROOTFS_DIR/usr/local/bin/nexus-exam
else
mkdir -p $ROOTFS_DIR/usr/local/bin
cp build/nexus-exam $ROOTFS_DIR/usr/local/bin/nexus-exam
fi
make clean_client
cd -
#!/bin/sh
. tools/functions.sh
IP_SERVER=$(echo $SERVER | cut -d ':' -f1)
PORT_SERVER=$(echo $SERVER | cut -d ':' -f2)
echo " [Firewall configuration...]"
run_command_chroot ufw default deny incoming
run_command_chroot ufw default deny outgoing
run_command_chroot ufw allow out from any to $IP_SERVER port $PORT_SERVER proto tcp
run_command_chroot ufw allow out from any to any port 123 proto udp
run_command_chroot ufw allow out from any to any port 53 proto udp
run_command_chroot ufw allow out from any to $IP_SERVER port 1025:65535 proto tcp
run_command_chroot ufw enable
#/bin/bash
. tools/functions.sh
if [ ! -z $PXE_URL ]; then
echo " [Adding PXE url...]"
echo -n "$PXE_URL/$LUKS_IMG" > $ROOTFS_DIR/etc/squashfs-url
fi
#!/bin/sh
. tools/functions.sh
echo " [Update initramfs...]"
run_command_chroot update-initramfs -u
check_exit_code $? "Error during initramfs generation"
#/bin/sh
run() {
chroot "$ROOTFS_DIR" $@
}
echo "[User managing...]"
run useradd -m user
run usermod -aG video user
run usermod -aG input user
run usermod -aG plugdev user
run usermod -aG wheel user
chown -R 1000:1000 $ROOTFS_DIR/home/user/
USER_PASSWORD="0"
echo "user:$USER_PASSWORD" | chroot "$ROOTFS_DIR" /usr/sbin/chpasswd
echo "%wheel ALL=(ALL:ALL) ALL" >> "$ROOTFS_DIR/etc/sudoers.d/wheel"
#/bin/sh
run() {
chroot "$ROOTFS_DIR" $@
}
echo "[Disable root user...]"
run passwd -l root
#/bin/sh
run() {
chroot "$ROOTFS_DIR" $@
}
echo "[Enabling services...]"
run rc-update add dbus
run setup-devd udev
run rc-update add polkit
run rc-update add elogind
run rc-update add networkmanager
run rc-update add ufw
#!/bin/sh
IP_SERVER=$(echo $SERVER | cut -d ':' -f1)
PORT_SERVER=$(echo $SERVER | cut -d ':' -f2)
run() {
chroot "$ROOTFS_DIR" $@
}
echo "[Firewall configuration...]"
run ufw default deny incoming
run ufw default deny outgoing
run ufw allow out from any to $IP_SERVER port $PORT_SERVER proto tcp
run ufw allow out from any to any port 123 proto udp
run ufw allow out from any to any port 53 proto udp
run ufw allow out from any to $IP_SERVER port 1025:65535 proto tcp
run ufw enable
run() {
chroot "$ROOTFS_DIR" $@
}
run_command() {
local cmd="$@"
if $VERBOSE; then
echo $cmd
bash -c "$cmd"
EXIT_CODE=$?
else
bash -c "$cmd" > /dev/null 2>&1
EXIT_CODE=$?
fi
return $EXIT_CODE
}
run_command_chroot() {
run_command chroot "$ROOTFS_DIR" $@
}
check_exit_code() {
EXIT_CODE=$1
if [ ! $EXIT_CODE -eq 0 ]; then
echo $2
exit
fi
}
check_environment_var() {
if [ -z $SERVER ] || [ -z $CERT ] || [ -z $EXAM_USER ] || [ -z $EXAM_PWD ]; then
echo "Error: Environment variables aren't set"
echo "SERVER = $SERVER"
echo "CERT = $CERT"
echo "EXAM_USER = $EXAM_USER"
echo "EXAM_PWD = $EXAM_PWD"
helper
fi
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment