2017-09-27 19:47:41 +00:00
|
|
|
FROM centos:latest
|
|
|
|
|
|
|
|
ENV container="docker"
|
|
|
|
|
|
|
|
RUN yum clean all \
|
|
|
|
&& yum makecache \
|
|
|
|
&& yum install -y epel-release \
|
|
|
|
&& yum makecache \
|
|
|
|
&& yum install -y \
|
|
|
|
curl \
|
|
|
|
findutils \
|
|
|
|
gcc \
|
|
|
|
glibc-langpack-en.x86_64 \
|
|
|
|
libffi-devel \
|
|
|
|
net-tools \
|
|
|
|
openssh-server \
|
|
|
|
openssl-devel \
|
|
|
|
python2-devel \
|
|
|
|
python2-pip \
|
|
|
|
redhat-lsb \
|
|
|
|
redhat-rpm-config \
|
|
|
|
sudo \
|
|
|
|
systemd \
|
|
|
|
&& pip install --upgrade pip \
|
|
|
|
&& yum clean all \
|
|
|
|
&& if ! getent passwd <%= @username %>; then \
|
|
|
|
useradd -d /home/<%= @username %> -m -s /usr/bin/bash -p '*' <%= @username %>; \
|
|
|
|
fi \
|
|
|
|
&& echo "<%= @username %> ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
|
|
|
|
&& echo "Defaults !requiretty" >> /etc/sudoers \
|
|
|
|
&& mkdir -p /home/<%= @username %>/.ssh \
|
|
|
|
&& chown -R <%= @username %> /home/<%= @username %>/.ssh \
|
|
|
|
&& chmod 0700 /home/<%= @username %>/.ssh \
|
|
|
|
&& echo '<%= IO.read(@public_key).strip %>' >> /home/<%= @username %>/.ssh/authorized_keys \
|
|
|
|
&& chown <%= @username %> /home/<%= @username %>/.ssh/authorized_keys \
|
|
|
|
&& chmod 0600 /home/<%= @username %>/.ssh/authorized_keys \
|
|
|
|
&& export LANG="en_US.UTF-8" && echo "LANG=\"en_US.UTF-8\"" > /etc/locale.conf \
|
|
|
|
&& cd /lib/systemd/system/sysinit.target.wants/; ls | grep -v systemd-tmpfiles-setup | /usr/bin/xargs rm -f $1 \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/multi-user.target.wants/* \
|
|
|
|
&& /usr/bin/rm -f /etc/systemd/system/*.wants/* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/local-fs.target.wants/* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/sockets.target.wants/*udev* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/sockets.target.wants/*initctl* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/basic.target.wants/* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/anaconda.target.wants/* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/plymouth* \
|
|
|
|
&& /usr/bin/rm -f /lib/systemd/system/systemd-update-utmp* \
|
|
|
|
&& sed -ri 's/^#?PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config \
|
|
|
|
&& sed -ri 's/^#?UsePrivilegeSeparation\s+.*/UsePrivilegeSeparation no/' /etc/ssh/sshd_config \
|
|
|
|
&& echo "UseDNS=no" >> /etc/ssh/sshd_config \
|
|
|
|
&& systemctl set-default multi-user.target \
|
|
|
|
&& ln -s /lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service \
|
|
|
|
&& ln -s /lib/systemd/system/systemd-journald.service /etc/systemd/system/multi-user.target.wants/systemd-journald.service \
|
|
|
|
&& echo $'[Unit]\
|
|
|
|
\nDescription=Finish boot up\
|
2017-11-27 15:51:31 +00:00
|
|
|
\nAfter=sshd.service\
|
2017-09-27 19:47:41 +00:00
|
|
|
\n\
|
|
|
|
\n[Service]\
|
|
|
|
\nType=oneshot\
|
|
|
|
\nRemainAfterExit=yes\
|
|
|
|
\nExecStartPre=/bin/sleep 3s\
|
|
|
|
\nExecStart=/bin/rm -f /run/nologin\
|
|
|
|
\n\
|
|
|
|
\n[Install]\
|
|
|
|
\nWantedBy=default.target' >> /etc/systemd/system/FinishBootUp.service \
|
|
|
|
&& ln -s /etc/systemd/system/FinishBootUp.service /etc/systemd/system/multi-user.target.wants/FinishBootUp.service
|
|
|
|
|
|
|
|
|
|
|
|
EXPOSE 22
|
|
|
|
|
|
|
|
VOLUME [ "/sys/fs/cgroup" ]
|