Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
FROM public.ecr.aws/docker/library/php:8.0-apache
|
||||
|
||||
ARG PASSWORD
|
||||
|
||||
# Create ctfuser and set password
|
||||
RUN useradd -m -d /var/www/html ctfuser && echo ctfuser:${PASSWORD} | chpasswd
|
||||
|
||||
# Install necessary packages
|
||||
RUN apt-get update && apt-get install -y openssh-server curl
|
||||
|
||||
# Configure SSH for ctfuser
|
||||
RUN echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config && \
|
||||
echo "PermitRootLogin no" >> /etc/ssh/sshd_config && \
|
||||
echo "AllowUsers ctfuser" >> /etc/ssh/sshd_config
|
||||
|
||||
# Generate SSH host keys
|
||||
RUN ssh-keygen -A
|
||||
|
||||
# Ensure /run/sshd directory exists with correct permissions
|
||||
RUN mkdir -p /run/sshd && chmod 755 /run/sshd
|
||||
|
||||
# Copy source code and set permissions
|
||||
COPY src/ /var/www/html
|
||||
RUN mkdir /var/www/html/backups && \
|
||||
chown -R ctfuser:ctfuser /var/www/html && \
|
||||
chmod -R 777 /var/www/html
|
||||
|
||||
# Allow URL inclusion in PHP
|
||||
RUN echo "allow_url_include = On" >> /usr/local/etc/php/php.ini
|
||||
|
||||
# Copy start script and set execute permissions
|
||||
COPY start.sh .
|
||||
RUN chmod +x start.sh
|
||||
|
||||
# Start SSH service as root and then switch to ctfuser
|
||||
CMD service ssh start && ./start.sh
|
||||
|
||||
Reference in New Issue
Block a user