diff --git a/live_exam_os/Dockerfile b/live_exam_os/Dockerfile index 00c85e4c4080b79d8f6c7ec073f4d8bb0f7e117f..20b31dc46e35f8ad841ec43ad1b7db621206ff8d 100644 --- a/live_exam_os/Dockerfile +++ b/live_exam_os/Dockerfile @@ -12,24 +12,24 @@ ARG config_dir WORKDIR /live-default -## add live-cd additionnal packages +## Add live-cd additionnal packages ADD ${config_dir}/packages.list.chroot config/package-lists/ -## packages to be removed +## Packages to be removed ADD ${config_dir}/removepkg.hook.chroot config/hooks/live/ -## add swiss-french keyboard config +## Add swiss-french keyboard config ADD ${config_dir}/keyboard/keyboard config/includes.chroot/etc/default/ -## run "nexus-exam" as soon as user logs in +## Run "nexus-exam" as soon as user logs in ADD ${config_dir}/nexus-exam config/includes.chroot/usr/local/bin/ ADD ${config_dir}/nexus-exam.desktop config/includes.chroot/etc/xdg/autostart/ -## run various screen settings as soon as user logs in +## Run various screen settings as soon as user logs in ADD ${config_dir}/screen/screen_settings.sh config/includes.chroot/usr/local/bin/ ADD ${config_dir}/screen/screen_settings.desktop config/includes.chroot/etc/xdg/autostart/ -## systemd service to set various screen settings (does not work - not sure why) +## Systemd service to set various screen settings (does not work - not sure why) # ADD ${config_dir}/systemd/screen_settings.sh config/includes.chroot/usr/local/bin/ # RUN chmod +x config/includes.chroot/usr/local/bin/screen_settings.sh # ADD ${config_dir}/systemd/screen_settings.service config/includes.chroot/etc/systemd/system/ @@ -37,7 +37,7 @@ ADD ${config_dir}/screen/screen_settings.desktop config/includes.chroot/etc/xdg/ # RUN mkdir config/includes.chroot/etc/skel/ # RUN echo "export NEXUS_SERVER=${server_ip}\nexport NEXUS_CERT=/etc/ssl/certs/nexus-server.pem\n" >> config/includes.chroot/etc/skel/.xsessionrc -## customize xfce4 desktop +## Customize xfce4 desktop ADD ${config_dir}/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png ADD ${config_dir}/xfce/xfce4-desktop.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD ${config_dir}/xfce/xfce4-panel.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ @@ -48,28 +48,29 @@ ADD ${config_dir}/xfce/xfwm4.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfc ## Install i3 theme for xfwm4 ADD ${config_dir}/themes config/includes.chroot/usr/share/themes/ -# syslinux (bios) cfg +# Install syslinux (bios) cfg ADD ${config_dir}/bootloader/isolinux.cfg config/includes.binary/isolinux/isolinux.cfg ADD ${config_dir}/bootloader/isolinux_splash.png config/includes.binary/isolinux/splash.png -# grub (uefi) cfg +# Install grub (uefi) cfg ADD ${config_dir}/bootloader/grub_splash.png config/includes.binary/boot/grub/splash.png ADD ${config_dir}/bootloader/grub_config.cfg config/includes.binary/boot/grub/config.cfg ADD ${config_dir}/bootloader/isolinux_menu.cfg config/includes.binary/isolinux/menu.cfg ADD ${config_dir}/bootloader/isolinux_stdmenu.cfg config/includes.binary/isolinux/stdmenu.cfg -# server pub cert to be installed (system wide) +# Install nexus server pub cert system wide #ADD ${config_dir}/${nexus_cert} config/includes.chroot/usr/share/ca-certificates/nexus-server/nexus-server.crt -# ntp server configuration +# NTP server configuration ADD ${config_dir}/ntp/timesyncd.conf config/includes.chroot/etc/systemd/ -# firewall hook ran at boot time +# Firewall hook ran at boot time ADD ${config_dir}/boot_hooks/firewall config/includes.chroot/lib/live/config/9999-firewall RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-firewall -# install wifi template -ADD ${config_dir}/wifi/WIFI.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/ -RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/WIFI.nmconnection +# Install wifi connections. +# The prefix (here *) must match wifi SSIDs. +ADD ${config_dir}/wifi/*.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/ +RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/*.nmconnection # script hook to set password for nexus user (pwd is "pipo") # pwd is the crypt's perl function's first argument. Second arg is salt. @@ -78,11 +79,11 @@ RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/WIFI # echo "' nexus\n" >> config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \ # chmod 0750 config/includes.chroot/lib/live/config/0500-user-password.hook.chroot -# script hook so that user nexus has no password +# Script hook so that user nexus has no password RUN echo -n "#!/bin/sh\npasswd -d nexus\n" > config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \ chmod 0750 config/includes.chroot/lib/live/config/0500-user-password.hook.chroot -## add exam config +## Add config directory ADD ${config_dir}/config auto/ RUN lb config diff --git a/live_exam_os/config/wifi/WIFI.nmconnection b/live_exam_os/config/wifi/SOME_SSID.nmconnection.example similarity index 68% rename from live_exam_os/config/wifi/WIFI.nmconnection rename to live_exam_os/config/wifi/SOME_SSID.nmconnection.example index 0f79bf43067e405a86fa00bf02319c9cd8dc49ae..123ca387635d62d2adc3ad60b8ba1ca1584dcb5d 100644 --- a/live_exam_os/config/wifi/WIFI.nmconnection +++ b/live_exam_os/config/wifi/SOME_SSID.nmconnection.example @@ -1,34 +1,33 @@ +; The various WIFI connection files can be found in: +; /etc/NetworkManager/system-connections + [connection] ; Name of the connection as shown by Network Manager -id=wifi-nexus +id=example ; A random UUID referencing the connection uuid=8a065b14-beb3-4f28-97b5-f560c368ae12 type=wifi -permissions= [wifi] ; Whether the SSID is hidden or not (true/false) -hidden=true -mac-address-blacklist= +hidden=false ; Name of your WIFI SSID -ssid=change_me +ssid=example [wifi-security] key-mgmt=wpa-eap [802-1x] eap=peap; -identity= -password= +identity=janedoe +password=my_super_strong_password phase2-auth=mschapv2 [ipv4] -dns-search= method=auto [ipv6] addr-gen-mode=stable-privacy -dns-search= method=auto [proxy]