From 9bd7e27a1cb57dd57f7c13256ab379ee82e4652f Mon Sep 17 00:00:00 2001 From: Gator96100 Date: Tue, 31 Jul 2018 00:33:52 +0200 Subject: [PATCH] Fixed unknown user problem --- msys2/etc/group | 1 - msys2/etc/nsswitch.conf | 2 +- msys2/etc/passwd | 1 - msys2/msys2_shell.cmd | 8 ++++++++ msys2/user_setup.sh | 24 ++++++++++++++++++++++++ 5 files changed, 33 insertions(+), 3 deletions(-) delete mode 100644 msys2/etc/group delete mode 100644 msys2/etc/passwd create mode 100644 msys2/user_setup.sh diff --git a/msys2/etc/group b/msys2/etc/group deleted file mode 100644 index ffc24588e..000000000 --- a/msys2/etc/group +++ /dev/null @@ -1 +0,0 @@ -None:S-1-5-21-1393929962-1942277079-963640776-513:197121: diff --git a/msys2/etc/nsswitch.conf b/msys2/etc/nsswitch.conf index ff38c7b7f..79140291b 100644 --- a/msys2/etc/nsswitch.conf +++ b/msys2/etc/nsswitch.conf @@ -3,7 +3,7 @@ passwd: files group: files -db_enum: cache builtin +db_enum: files db_home: cygwin desc db_shell: cygwin desc diff --git a/msys2/etc/passwd b/msys2/etc/passwd deleted file mode 100644 index 3df742c83..000000000 --- a/msys2/etc/passwd +++ /dev/null @@ -1 +0,0 @@ -proxspace:unused:1001:197121:U-ProxSpace,S-1-5-21-1393929962-1942277079-963640776-1000:/pm3:/bin/bash diff --git a/msys2/msys2_shell.cmd b/msys2/msys2_shell.cmd index f59f249f5..db240e1c9 100644 --- a/msys2/msys2_shell.cmd +++ b/msys2/msys2_shell.cmd @@ -15,6 +15,14 @@ rem To export full current PATH from environment into MSYS2 use '-use-full-path' rem or uncomment next line rem set MSYS2_PATH_TYPE=inherit +if not exist %MYPATH%msys2\etc\passwd ( + SET PATH=%PATH%;%MYPATH%msys2\usr\bin + mkdir %MYPATH%msys2\tmp + %MYPATH%msys2\usr\bin\touch /etc/passwd + %MYPATH%msys2\usr\bin\touch /etc/group + %MYPATH%msys2\usr\bin\bash /user_setup.sh +) + :checkparams rem Help option if "x%~1" == "x-help" ( diff --git a/msys2/user_setup.sh b/msys2/user_setup.sh new file mode 100644 index 000000000..983fd7c2d --- /dev/null +++ b/msys2/user_setup.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +MKPASSWD_CURRENT="$( mkpasswd -c )" +MKGROUP_CURRENT="$( mkgroup -c )" +USER_SID="$( echo $MKPASSWD_CURRENT | gawk -F":" '{ print $5 }' )" +GID="$( echo $MKPASSWD_CURRENT | gawk -F":" '{ print $4 }' )" +GROUP_SID="$( echo $MKGROUP_CURRENT | gawk -F":" '{ print $2 }' )" + +# Check if user is in /etc/mkpasswd +USER_MISSING=$( grep -Fq "$USER_SID" /etc/passwd )$? +# If not, add it +if [ $USER_MISSING != 0 ]; then + echo proxspace:unused:1001:$GID:$USER_SID:/pm3:/bin/bash >> /etc/passwd +fi + +# Check if group is in /etc/group +GROUP_MISSING=$( grep -Fq "$GROUP_SID" /etc/group )$? +# If not, add it +if [ $GROUP_MISSING != 0 ]; then + echo $MKGROUP_CURRENT >> /etc/group +fi + + +