| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- FROM kalilinux/kali-rolling@sha256:99a8a101fb7c3747f5f55886d0b698e67424c1815d0b70d057643fce620da324
- # 更换为USTC源
- RUN sed -i 's|http://http.kali.org/kali|http://mirrors.ustc.edu.cn/kali|g' /etc/apt/sources.list && \
- apt-get update && \
- DEBIAN_FRONTEND=noninteractive apt-get install -y gnupg && \
- apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6 && \
- echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4
- RUN apt update && \
- DEBIAN_FRONTEND=noninteractive apt install -y kali-desktop-xfce kali-linux-default locales sudo
- RUN apt update && \
- DEBIAN_FRONTEND=noninteractive apt install -y xrdp tigervnc-standalone-server && \
- adduser xrdp ssl-cert && \
- echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
- dpkg-reconfigure --frontend=noninteractive locales && \
- update-locale LANG=en_US.UTF-8
- ARG USER=testuser
- ARG PASS=1234
- RUN useradd -m $USER -p $(openssl passwd -1 $PASS) && \
- usermod -aG sudo $USER && \
- chsh -s /bin/bash $USER
- RUN echo "#!/bin/sh\n\
- export XDG_SESSION_DESKTOP=xfce\n\
- export XDG_SESSION_TYPE=x11\n\
- export XDG_CURRENT_DESKTOP=XFCE\n\
- export XDG_CONFIG_DIRS=/etc/xdg/xdg-xfce:/etc/xdg\n\
- exec dbus-run-session -- xfce4-session" > /xstartup && chmod +x /xstartup
- RUN mkdir /home/$USER/.vnc && \
- echo $PASS | vncpasswd -f > /home/$USER/.vnc/passwd && \
- chmod 0600 /home/$USER/.vnc/passwd && \
- chown -R $USER:$USER /home/$USER/.vnc
- RUN cp -f /xstartup /etc/xrdp/startwm.sh && \
- cp -f /xstartup /home/$USER/.vnc/xstartup
- RUN echo "#!/bin/sh\n\
- sudo -u $USER -g $USER -- vncserver -rfbport 5902 -geometry 1920x1080 -depth 24 -verbose -localhost no -autokill no" > /startvnc && chmod +x /startvnc
- # 创建启动脚本
- RUN echo "#!/bin/bash\n\
- service dbus start\n\
- service xrdp start\n\
- /startvnc\n\
- tail -f /dev/null" > /usr/local/bin/start_services.sh && chmod +x /usr/local/bin/start_services.sh
- EXPOSE 3389
- EXPOSE 5902
- ENV PULSE_SERVER=/tmp/PulseServer
- ENV WAYLAND_DISPLAY=wayland-0
- ENV XDG_RUNTIME_DIR=/tmp/runtime-dir/
- ENV DISPLAY=:0
- CMD ["/usr/local/bin/start_services.sh"]
|