diff --git a/Dockerfile b/Dockerfile index 86d8ac9547..93c33b6297 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,7 @@ RUN apk update && \ && apk del .ruby-builddeps \ && rm -rf /var/cache/apk/* -RUN adduser -g msfconsole -D $MSF_USER +RUN adduser -g msfconsole -D $MSF_USER -u 1000 RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which ruby) RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which nmap) diff --git a/docker/bin/msfconsole b/docker/bin/msfconsole index b85d150546..36fa9ee1a8 100755 --- a/docker/bin/msfconsole +++ b/docker/bin/msfconsole @@ -27,4 +27,10 @@ if [[ $PARAMS == *"--rebuild"* ]]; then exit $? fi -docker-compose run --rm --service-ports ms ./msfconsole -r docker/msfconsole.rc "$PARAMS" +# workaround if current user id is not the same as in the container. +# Otherwise the ~/.msf4 folder is not writeable +if [[ $EUID -ne 1000 ]]; then + docker-compose run --rm -u root --service-ports ms ./msfconsole -r docker/msfconsole.rc "$PARAMS" +else + docker-compose run --rm --service-ports ms ./msfconsole -r docker/msfconsole.rc "$PARAMS" +fi