From d23100703c90cff940de4d057d99ee7ee3015f84 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Tue, 17 Apr 2018 14:21:02 +0100 Subject: [PATCH] Add ppwd script to skel directory --- Dockerfile | 8 +++----- skel/{ => etc}/group | 0 skel/{ => etc}/passwd | 0 skel/{ => etc}/profile | 0 skel/{ => etc}/shadow | 0 skel/usr/bin/ppwd | 19 +++++++++++++++++++ 6 files changed, 22 insertions(+), 5 deletions(-) rename skel/{ => etc}/group (100%) rename skel/{ => etc}/passwd (100%) rename skel/{ => etc}/profile (100%) rename skel/{ => etc}/shadow (100%) create mode 100644 skel/usr/bin/ppwd diff --git a/Dockerfile b/Dockerfile index e0bb422..dd97ea9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -119,11 +119,9 @@ SHELL ["/bin/sh", "-exc"] COPY --from=builder /output/ / # Add default skeleton configuration files -ADD skel/* /etc/ -RUN chmod 1777 /tmp - -ADD https://gist.githubusercontent.com/frebib/2b4ba154a9d62b31b1edcb50477e7f01/raw/647c3f8ee4dc7e325cd41f40fe47735f75a7f607/ppwd.sh /usr/bin/ppwd -RUN chmod 755 /usr/bin/ppwd +COPY skel/ / +RUN chmod 1777 /tmp && \ + chmod 775 /usr/bin/* ENV ENV="/etc/profile" ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/bin diff --git a/skel/group b/skel/etc/group similarity index 100% rename from skel/group rename to skel/etc/group diff --git a/skel/passwd b/skel/etc/passwd similarity index 100% rename from skel/passwd rename to skel/etc/passwd diff --git a/skel/profile b/skel/etc/profile similarity index 100% rename from skel/profile rename to skel/etc/profile diff --git a/skel/shadow b/skel/etc/shadow similarity index 100% rename from skel/shadow rename to skel/etc/shadow diff --git a/skel/usr/bin/ppwd b/skel/usr/bin/ppwd new file mode 100644 index 0000000..7b52105 --- /dev/null +++ b/skel/usr/bin/ppwd @@ -0,0 +1,19 @@ +#!/bin/sh +set -e -o pipefail + +dir="$(echo -n "${1:-$PWD}" | sed "s|$HOME|~|")" + +if [ "$dir" = '~' -o "$dir" = '/' ]; then + echo "$dir" + exit 0 +fi + +parts="$(echo "$dir" | tr '/' '\n' | sed '$d')" +last="$(echo "$dir" | tr '/' '\n' | tail -n 1)" + +for d in "$parts"; do + out="$out$(echo "$d" | sed -E '/^\./s/^(.{2}).*/\1/;/^[^\.]/s/^(.{1}).*/\1/')\n" +done + +echo -en "$out" | tr '\n' '/' +echo "$last" \ No newline at end of file