From 627740906020fbf209ce9608c0aa7b0e251f5379 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 30 Jun 2008 14:03:11 -0700 Subject: Handle multiple slashes in passwd mkpasswd can generate passwd with multiple slashes that need to be escaped. --- scripts/install-system | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index 71233ccb..defca8fb 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -553,7 +553,7 @@ change_password() { local user=$1 local pwd read pwd - local epwd=$(mkpasswd -H md5 $pwd | sed 's:/:\\/':) + local epwd=$(mkpasswd -H md5 $pwd | sed 's:/:\\/:g') sed -i \ -e "/ user $user {/,/}/s/encrypted-password:.*\$/encrypted-password: \"$epwd\"/" \ -- cgit v1.2.3 From c0aa9cfa7e3d57e0b0554033dd5f099584e7fdda Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 30 Jun 2008 15:46:18 -0700 Subject: Make standalone password reset work Address the problems in bugs 3398 and 3399 as well as some left over stuff from VC 3.0. --- scripts/standalone_root_pw_reset | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'scripts') diff --git a/scripts/standalone_root_pw_reset b/scripts/standalone_root_pw_reset index 0dc65fd2..7b04a9ba 100755 --- a/scripts/standalone_root_pw_reset +++ b/scripts/standalone_root_pw_reset @@ -24,7 +24,7 @@ CF=/opt/vyatta/etc/config/config.boot echo "Standalone root password recovery tool." - +echo # # Check to see if we are running in standalone mode. We'll # know that we are if our pid is 1. @@ -38,12 +38,8 @@ fi # OK, now we know we are running in standalone mode. Talk to the # user. # -echo "Do you wish to reset the reset the root password to its" -echo -n "factory setting value of \"vyatta\"? (Yes/No) [No]: " - -# -# Parse the user's response -# +echo "Do you wish to reset the root password" +echo -n "to the original default value (vyatta)? (Yes/No) [No]: " read response response=${response:0:1} @@ -55,26 +51,38 @@ if [ "$response" != "y" -a "$response" != "Y" ]; then /sbin/reboot -f fi + echo "Starting process to reset the root password..." echo "Re-mounting root filesystem read/write..." mount -o remount,rw / -echo "Mounting the config filesystem..." -mount /opt/vyatta/etc/config/ +# Leftover from V3.0 +if grep -q /opt/vyatta/etc/config /etc/fstab +then + echo "Mounting the config filesystem..." + mount /opt/vyatta/etc/config/ +fi echo "Saving backup copy of config.boot..." cp $CF ${CF}.before_pwrecovery echo "Reseting the root password..." -sed -i -e "/^.* user root {/,/^.* }/s/encrypted-password: .*$/encrypted-password: \"\$1\$\$Ht7gBYnxI1xCdO\/JOnodh.\"/" $CF + +# change system first +newpwd=$(mkpasswd -H md5 vyatta) +usermod --password "$newpwd" root + +# escape / in encrypted passwd +pw=$(echo $newpwd | sed 's:/:\\/:g') +sed -i \ + -e "/^.* user root {/,/}/s/encrypted-password:.*\$/encrypted-password: \"$pw\"/" \ + $CF echo "Root password has been reset." -echo "Logging the activity..." echo "`date`: Root password reset to factory value" >> /var/log/messages - -echo -n "Machine will reboot in 5 seconds..." sync -sleep 5 -echo + +echo "System will reboot in 10 seconds..." +sleep 10 /sbin/reboot -f -- cgit v1.2.3 From 5c108ca0a31657763cd657eb22253013e04fef5a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 30 Jun 2008 15:54:04 -0700 Subject: Use logger to write system log Use the logger program to get the proper logging format and message priorities (rather than blindly echoing to /var/log/messages) --- scripts/standalone_root_pw_reset | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/standalone_root_pw_reset b/scripts/standalone_root_pw_reset index 7b04a9ba..b76de6e9 100755 --- a/scripts/standalone_root_pw_reset +++ b/scripts/standalone_root_pw_reset @@ -79,8 +79,7 @@ sed -i \ -e "/^.* user root {/,/}/s/encrypted-password:.*\$/encrypted-password: \"$pw\"/" \ $CF -echo "Root password has been reset." -echo "`date`: Root password reset to factory value" >> /var/log/messages +logger -s -p auth.notice "Root password reset to factory value" sync echo "System will reboot in 10 seconds..." -- cgit v1.2.3 From f60022244e13f22d401d07f8d0212f56c836cd6d Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 1 Jul 2008 14:34:35 -0700 Subject: Can't use logger in standalone logger depends on syslogd which isn't running in standalone mode. So just format message directly to messages and auth.log --- scripts/standalone_root_pw_reset | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/standalone_root_pw_reset b/scripts/standalone_root_pw_reset index b76de6e9..b173f22d 100755 --- a/scripts/standalone_root_pw_reset +++ b/scripts/standalone_root_pw_reset @@ -79,7 +79,9 @@ sed -i \ -e "/^.* user root {/,/}/s/encrypted-password:.*\$/encrypted-password: \"$pw\"/" \ $CF -logger -s -p auth.notice "Root password reset to factory value" +echo $(date "+%b%e %T") $(hostname) "Root password reset to factory value" \ + | tee -a /var/log/auth.log >>/var/log/messages + sync echo "System will reboot in 10 seconds..." -- cgit v1.2.3 From 18f09e5fe87492ef53168e1d6a29b516c47ce7ab Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Thu, 3 Jul 2008 14:22:14 -0700 Subject: Bugfix: 1592 Fix the boot command syntax for password recovery on serial console. --- scripts/install-system | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index defca8fb..a77fc446 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -716,7 +716,7 @@ install_grub () { echo echo -e "menuentry \"Root password reset to factory (Serial console)\" {" - echo -e "\tkernel /boot/vmlinuz $GRUB_ROOT $GRUB_OPTIONS $SERIAL_CONSOLE init=$PWRESET" + echo -e "\tlinux /boot/vmlinuz $GRUB_ROOT $GRUB_OPTIONS $SERIAL_CONSOLE init=$PWRESET" echo -e "\tinitrd /boot/initrd.img" echo -e "}" ) >"$rootfsdir/boot/grub/grub.cfg" -- cgit v1.2.3 From 1fb175a266e45828a5588e2f44660c2a70057bf0 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 3 Jul 2008 15:47:41 -0700 Subject: Fix problem if install-system run twice If install-system is run twice and the first pass copied the old configuration file; then the second time the leftover file from previous attempt needs to be cleaned up. Otherwise, the old configuration file will be copied even if the user doesn't want it! --- scripts/install-system | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index a77fc446..5a9c0309 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -309,6 +309,9 @@ rename_old_config() { check_config_partition() { lpart=$1 + # Cleanup from possible partial last run + rm -fr /mnt/config + # Look to see if this is a config partition mkdir -p /mnt/tmp output=$(mount /dev/$lpart /mnt/tmp 2>&1) -- cgit v1.2.3 From afcffd6f2208aa241b346c501d749e3edc5d7dd1 Mon Sep 17 00:00:00 2001 From: An-Cheng Huang Date: Thu, 3 Jul 2008 19:18:06 -0700 Subject: fix for bug 3417: use UUID in grub config file --- scripts/install-system | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index 5a9c0309..b5eefe62 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -479,7 +479,15 @@ install_root_filesystem () { output=$(umount /mnt/squashfs) # create the fstab - echo -e "/dev/$ROOT_PARTITION\t/\text3\tdefaults\t0 1" >> $rootfsdir/etc/fstab + local rootdev="/dev/$ROOT_PARTITION"; + uuid=$(dumpe2fs -h $rootdev 2>/dev/null | awk '/^Filesystem UUID/ {print $3}') + if [ -z "$uuid" ] + then + echo "Unable to read filesystem UUID. Exiting." + exit 1 + else + echo -e "UUID=$uuid\t/\text3\tdefaults\t0 1" >> $rootfsdir/etc/fstab + fi #setup the hostname file cp /etc/hostname $rootfsdir/etc/ @@ -632,9 +640,10 @@ install_grub () { # This allows device to move around and grub will still find it local rootdev="/dev/$ROOT_PARTITION"; uuid=$(dumpe2fs -h $rootdev 2>/dev/null | awk '/^Filesystem UUID/ {print $3}') - if [ -z $uuid ] + if [ -z "$uuid" ] then - GRUB_ROOT="root=$rootdev ro" + echo "Unable to read filesystem UUID. Exiting." + exit 1 else GRUB_ROOT="root=UUID=$uuid ro" fi -- cgit v1.2.3 From 95d9651eb951d10572503d783aea0e02d44e98d5 Mon Sep 17 00:00:00 2001 From: Robert Bays Date: Mon, 7 Jul 2008 14:05:31 -0700 Subject: fix for bug 3095 --- scripts/install-system | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index b5eefe62..a7a0b066 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -528,16 +528,19 @@ copy_config () { if [ -z "$config" ]; then config="$fdconfdir/config.boot" else - config="$config\n$fdconfdir/config.boot" + config="$config $fdconfdir/config.boot" fi fi if [ -n "$config" ]; then echo "I found the following configuration files" - echo -e "$config" - default=$(echo -e $config| head -1) + for file in $config + do + echo $file + done + + default=$(echo -e $config | awk '{ print $1 }') - resp='' while [ -z "$configfile" ] do echo -n "Which one should I copy to $INSTALL_DRIVE? [$default]: " -- cgit v1.2.3 From f7798694b590a0fee79790cc482d688e095cec5b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 7 Jul 2008 17:07:25 -0700 Subject: Don't add ide=nodma twice Since the drive sizing can be called twice, don't add duplicate entry to GRUB OPTIONS --- scripts/install-system | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/install-system b/scripts/install-system index a7a0b066..d6ea9b74 100755 --- a/scripts/install-system +++ b/scripts/install-system @@ -229,7 +229,7 @@ select_drive () { # Assume no dma if the disk is smaller than 10G (such as a CF drive) size=$(get_drive_size $INSTALL_DRIVE) - if [ $size -lt 11000 ] + if [[ $size -lt 11000 && ! $GRUB_OPTIONS =~ 'ide=nodma' ]] then GRUB_OPTIONS="$GRUB_OPTIONS ide=nodma" fi -- cgit v1.2.3