← Back to team overview

touch-packages team mailing list archive

[Bug 1097473] Re: Invoking "env -i bash" unnecessarily results in confusing message

 

Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: bash (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/1097473

Title:
  Invoking "env -i bash" unnecessarily results in confusing message

Status in bash package in Ubuntu:
  Confirmed

Bug description:
  I was invoking bash as follows:

  $ env -i bash

  This caused this message to be printed:

  $ env -i bash
  > To run a command as administrator (user "root"), use "sudo <command>".
  > See "man sudo_root" for details.

  While I think I understand the rationale for the message, I found it
  more confusing than helpful in this situation. I thought I had done
  something wrong, or that there was some error with the new shell I was
  starting. (It was as if I had done something that suggested I was
  trying to become root, which I hadn't. This just feels buggy.)

  The message is, I believe, caused by the following snippet in
  /etc/bash.bashrc (note that the "env -i" part above causes $HOME to
  not be set)

  # sudo hint
  if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
      case " $(groups) " in *\ admin\ *)
      if [ -x /usr/bin/sudo ]; then
          cat <<-EOF
          To run a command as administrator (user "root"), use "sudo <command>".
          See "man sudo_root" for details.

          EOF
      fi
      esac
  fi

  It would perhaps be better if the if-statement also checked that $HOME
  is set (to refer to an existing directory?) before checking if
  $HOME/.sudo_as_admin_successful and $HOME/.hushlogin exist.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1097473/+subscriptions