]> arthur.barton.de Git - ConfigScripts.git/blobdiff - install.sh
Read ~/.profile.user-1st after initializing basic environment
[ConfigScripts.git] / install.sh
index f42c52e666b71b4f28578d94b84dbb45e7409a2f..e3b0359d97da73b35246a198243c3de811cac2ad 100755 (executable)
@@ -26,7 +26,7 @@ Copy_File() {
                fi
        fi
        Msg " "
-       cp --preserve=timestamps "$src" "$dst" || Abort
+       cp -p "$src" "$dst" || Abort
        if [ -n "$own" ]; then
                chown "$own" "$dst" || Abort
        fi
@@ -37,21 +37,22 @@ Copy_File() {
 }
 
 Config_System() {
-       if [ "$UID" = "0" -a -z "$I_local" ]; then
+       if [ "$EUID" = "0" -a -z "$I_local" ]; then
                Msg "Starting system configuration:\n"
                Msg " - bash shell:\n"
                if [ -e /etc/bash.bashrc ]; then
-                       Copy_File sys/bashrc /etc/bash.bashrc root 644
+                       Copy_File sys/bashrc /etc/bash.bashrc root:0 644
                else
-                       Copy_File sys/bashrc /etc/bashrc root 644
+                       Copy_File sys/bashrc /etc/bashrc root:0 644
                fi
-               Copy_File sys/profile /etc/profile root 644
+               Copy_File sys/profile /etc/profile root:0 644
        else
                Msg "Not running with root privileges - system configuration SKIPPED.\n"
                grep "alex@barton.de" /etc/profile >/dev/null 2>&1
                if [ $? -ne 0 -o -n "$I_local" -o -d $HOME/.etc ]; then
                        Msg "Installing system files to $HOME/.etc/ ...\n"
                        mkdir -p "$HOME/.etc"
+                       Msg " - bash shell:\n"
                        Copy_File sys/bashrc $HOME/.etc/bashrc "$user" 600
                        Copy_File sys/profile $HOME/.etc/profile "$user" 600
                else
@@ -87,13 +88,14 @@ Config_User() {
 Config_Skel() {
        if [ -w /etc/skel -a -z "$I_local" ]; then
                Msg "Starting \"/etc/skel\" configuration:\n"
-               Copy_File user/bash_logout /etc/skel/.bash_logout root 644
+               Msg " - bash shell:\n"
+               Copy_File user/bash_logout /etc/skel/.bash_logout root:0 644
                if [ -e /etc/skel/.profile ]; then
-                       Copy_File user/bash_profile /etc/skel/.profile root 644
+                       Copy_File user/bash_profile /etc/skel/.profile root:0 644
                else
-                       Copy_File user/bash_profile /etc/skel/.bash_profile root 644
+                       Copy_File user/bash_profile /etc/skel/.bash_profile root:0 644
                fi
-               Copy_File user/bashrc /etc/skel/.bashrc root 644
+               Copy_File user/bashrc /etc/skel/.bashrc root:0 644
        else
                [ -z "$I_local" ] \
                        && Msg "Can't write to \"/etc/skel\" - configuration SKIPPED.\n" \
@@ -101,16 +103,6 @@ Config_Skel() {
        fi
 }
 
-Config_RootUser() {
-       if [ "$UID" = "0" ]; then
-               user=`grep "^.*:.*:0:" /etc/passwd | head -n 1 | cut -d':' -f1`
-               home=`grep "^.*:.*:0:" /etc/passwd | cut -d':' -f6`
-               Config_User "$user" "$home"
-       else
-               Msg "Not running with root privileges - root user configuration SKIPPED.\n"
-       fi
-}
-
 while [ $# -gt 0 ]; do
        case "$1" in
        "--local"|"-l")
@@ -122,17 +114,17 @@ while [ $# -gt 0 ]; do
        shift
 done
 
-[ -n "$UID" ] || UID=`id -u`
-export UID
+[ -n "$UID" ] || UID=`id -r -u`
+[ -n "$EUID" ] || EUID=`id -u`
+export UID EUID
 
-Msg "Running $NAME (uid=$UID) ...\n"
+Msg "Running $NAME (uid=$UID; euid=$EUID) ...\n"
 
 user=`basename "$HOME"`
 
 Config_Skel
 Config_System
 Config_User "$user" "$HOME"
-Config_RootUser
 
 Msg "$NAME: Done.\n"