FROM ubuntu:rolling ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y --no-install-recommends \ openssh-server sudo ca-certificates nano file htop vim locales zip fastfetch \ python3 python3-pip procps cron libpam-modules \ && locale-gen en_US.UTF-8 \ && update-locale LANG=en_US.UTF-8 \ && rm -rf /var/lib/apt/lists/* \ && echo escape-room > /etc/hostname RUN mkdir -p /var/run/sshd RUN rm -fr /bin/su RUN useradd -m -s /bin/bash level1 RUN useradd -m -s /bin/bash level2 RUN useradd -m -s /bin/bash level3 RUN useradd -m -s /bin/bash level4 RUN useradd -m -s /bin/bash level5 RUN mkdir -p /home/level1 RUN chown -R level1:level1 /home/level1 RUN mkdir -p /home/level2 RUN chown -R level2:level2 /home/level2 RUN mkdir -p /home/level3 RUN chown -R level3:level3 /home/level3 RUN mkdir -p /home/level4 RUN chown -R level4:level4 /home/level4 RUN mkdir -p /home/level5 RUN chown -R level5:level5 /home/level5 RUN echo "level1:level1" | chpasswd RUN echo "level2:&Vs@gSfdC+SPh!{BkBSt=~9{" | chpasswd RUN echo "level3:CX1bjEG5Hj2bYmFBKe4hfLYFpXBFi2Dv" | chpasswd RUN echo "level4:vG7kLp9xQ2zW4eR6tY8uI0" | chpasswd RUN echo "level5:Qw2e3r4T5z6U7i8O9p0AsD" | chpasswd # SSH RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config RUN sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/' /etc/ssh/sshd_config RUN sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/sshd \ && sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/login # Level1 COPY /Level/Level1/Chat.txt /home/level1/.Chats/Chat.txt RUN chown level1:level1 /home/level1/.Chats/Chat.txt && chmod 600 /home/level1/.Chats/Chat.txt # Level2 COPY /Level/Level2/data.txt /home/level2/data.txt RUN chown level2:level2 /home/level2/data.txt && chmod 600 /home/level2/data.txt # Level3 COPY Level/Level3/ /home/level3/ RUN chown -R level3:level3 /home/level3/ && chmod -R 777 /home/level3/ # Level4 COPY Level/Level4/ /home/level4/ RUN chown level4:level4 /home/level4/ && chmod -R 777 /home/level4/ # Level5 COPY Level/Level5/Microsoft.py /usr/local/bin/Microsoft.py RUN chmod +x /usr/local/bin/Microsoft.py COPY Level/Level5/watchdog.py /root/watchdog.py RUN chmod 700 /root/watchdog.py RUN mkdir -p /home/level5/.timer \ && chown level5:level5 /home/level5/.timer COPY guide/level5/win-message.sh /usr/local/bin/win-message.sh RUN chmod +x /usr/local/bin/win-message.sh COPY Level/Level5/start_level5.sh /usr/local/bin/start_level5.sh RUN chmod +x /usr/local/bin/start_level5.sh COPY Level/Level5/login_wrapper.sh /usr/local/bin/login_wrapper.sh RUN chmod +x /usr/local/bin/login_wrapper.sh RUN printf "\nMatch User level5\n ForceCommand /usr/local/bin/login_wrapper.sh\n" >> /etc/ssh/sshd_config RUN apt-get update && apt-get install -y bash psmisc # motd RUN rm -fr /etc/update-motd.d/* RUN mkdir -p /guide # Typewriter effect für jedes Level COPY guide/level1/typewrite.sh /usr/local/bin/typewrite_level1.sh COPY guide/level2/typewrite.sh /usr/local/bin/typewrite_level2.sh COPY guide/level3/typewrite.sh /usr/local/bin/typewrite_level3.sh COPY guide/level4/typewrite.sh /usr/local/bin/typewrite_level4.sh COPY guide/level5/typewrite.sh /usr/local/bin/typewrite_level5.sh RUN chmod +x /usr/local/bin/typewrite_level1.sh /usr/local/bin/typewrite_level2.sh /usr/local/bin/typewrite_level3.sh /usr/local/bin/typewrite_level4.sh /usr/local/bin/typewrite_level5.sh RUN echo 'if [ "$(whoami)" = "level1" ]; then /usr/local/bin/typewrite_level1.sh; fi' >> /home/level1/.bashrc \ && chown level1:level1 /home/level1/.bashrc RUN echo 'if [ "$(whoami)" = "level2" ]; then /usr/local/bin/typewrite_level2.sh; fi' >> /home/level2/.bashrc \ && chown level2:level2 /home/level2/.bashrc RUN echo 'if [ "$(whoami)" = "level3" ]; then /usr/local/bin/typewrite_level3.sh; fi' >> /home/level3/.bashrc \ && chown level3:level3 /home/level3/.bashrc RUN echo 'if [ "$(whoami)" = "level4" ]; then /usr/local/bin/typewrite_level4.sh; fi' >> /home/level4/.bashrc \ && chown level4:level4 /home/level4/.bashrc RUN echo 'if [ "$(whoami)" = "level5" ]; then /usr/local/bin/typewrite_level5.sh; fi' >> /home/level5/.bashrc \ && chown level5:level5 /home/level5/.bashrc RUN echo 'export PS1="\u@$(hostname):\\$ "' >> /etc/profile RUN rm -f /etc/legal RUN sed -i 's/^session\s\+optional\s\+pam_motd/#session optional pam_motd/' /etc/pam.d/sshd EXPOSE 22 COPY start.sh /start.sh RUN chmod +x /start.sh CMD ["/start.sh"]