[Bug 982684] Re: sudo, pkexec don't apply global environment settings from /etc/environment

Bug Watch Updater 982684 at bugs.launchpad.net
Tue Mar 12 09:17:30 UTC 2013


Launchpad has imported 6 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=62016.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2013-03-08T10:58:55+00:00 Martin Pitt wrote:

Various pam modules provide environment variables that are intended to
be set in the environment of the pam session.  pkexec needs to process
the output of pam_getenvlist() to get these.

This will e. g. apply correct locales in pkexec when they are configured
in pam_environment.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/23

------------------------------------------------------------------------
On 2013-03-08T11:01:25+00:00 Martin Pitt wrote:

Created attachment 76150
pkexec: Set process environment from pam_getenvlist()

Steve Langasek applied this patch a while ago to the Ubuntu packages. I
adjusted it for current git master and brought it into git format-patch
form.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/24

------------------------------------------------------------------------
On 2013-03-08T18:06:28+00:00 Zeuthen wrote:

I'm not sure that's a good idea ... but I can probably be convinced that
it is :-) ... So apart from locales, can you give examples of such PAM
modules and the environment variables that are set? Thanks.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/25

------------------------------------------------------------------------
On 2013-03-08T18:08:38+00:00 Zeuthen wrote:

Comment on attachment 76150
pkexec: Set process environment from pam_getenvlist()

Review of attachment 76150:
-----------------------------------------------------------------

Looks good but the the coding style is wrong

 - curly-braces / indentation wrong
 - should use guint instead of int
 - should use 'n' as a counter/iterator, not 'i' (like the rest of the code)

These are style issues but consistency is important.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/26

------------------------------------------------------------------------
On 2013-03-11T08:31:41+00:00 Steve Langasek wrote:

On Fri, Mar 08, 2013 at 06:06:28PM +0000, bugzilla-daemon at freedesktop.org wrote:
> ... So apart from locales, can you give examples of such PAM modules and
> the environment variables that are set? Thanks.

The pam_env module is a big one, which is used by admins to configure
arbitrary environment settings for all sessions.  The specific case that
prompted this had to do with proxy settings configured in the environment.

Other modules that may need to set environment variables include pam_krb5
and pam_afs_session, whose environment settings may be required for proper
filesystem access.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/27

------------------------------------------------------------------------
On 2013-03-11T08:48:38+00:00 Martin Pitt wrote:

Created attachment 76324
pkexec: Set process environment from pam_getenvlist()

Fixed coding style.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/982684/comments/28


** Changed in: policykit
       Status: Unknown => Incomplete

** Changed in: policykit
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/982684

Title:
  sudo, pkexec don't apply global environment settings from
  /etc/environment

Status in PolicyKit:
  Incomplete
Status in “policykit-1” package in Ubuntu:
  Fix Released
Status in “sudo” package in Ubuntu:
  Fix Released
Status in “policykit-1” source package in Precise:
  Fix Released
Status in “sudo” source package in Precise:
  Fix Released
Status in “policykit-1” source package in Quantal:
  Fix Released
Status in “sudo” source package in Quantal:
  Fix Released

Bug description:
  [Impact]
  In connection with the recent update-notifier changes (https://wiki.ubuntu.com/Specs/UpdateNotifierPackageDataDownloader), some users who were previously able to download the flashplugin via the apt proxy settings are now unable to download it when running, e.g., 'sudo apt-get install'.

  The reason for this is that, even though a global proxy may be
  configured in /etc/environment, sudo does not allow $http_proxy to be
  inherited by default and does not reapply the environment from
  /etc/environment (and from /etc/default/locale) via pam_env.

  The first part is reasonable, but I question the second part.  Since
  these are global config files, I believe it's safe for sudo to apply
  the environment settings by default just as 'su' does; and the
  settings are intended to apply globally, which would include to sudo
  sessions.

  This would make update-notifier work more reliably for users with
  proxies, and would probably help with a variety of other cases where
  global variables are currently not being set as expected for sudo.

  [Test Case]
  1. Set 'http_proxy=invalid' in /etc/environment
  2. Run 'sudo wget http://www.ubuntu.com/', 'pkexec wget http://www.ubuntu.com/'
  3. Verify that the commands return successfully
  4. Install updated sudo, policykit-1 packages from precise-proposed
  5. Repeat the commands from step 2
  6. Verify that the commands now fail with an error about invalid proxies
  7. Remove the http_proxy line from /etc/environment

  [Regression potential]
  Some users may consider it a feature that global settings from /etc/environment are not applied to sudo and/or pkexec.  However, this is not by design; the cost of not being able to correctly support proxies for users is greater than the cost of changing this behavior in an SRU and breaking expectations of users regarding undocumented behavior.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: sudo 1.8.3p1-1ubuntu3
  ProcVersionSignature: Ubuntu 3.2.0-22.35-generic 3.2.14
  Uname: Linux 3.2.0-22-generic x86_64
  ApportVersion: 2.0.1-0ubuntu3
  Architecture: amd64
  CheckboxSubmission: 017452a27eca3c8b498abbfa5ef91db9
  CheckboxSystem: ecaaad6fa1e0799a0aa1126bf620f39e
  Date: Sun Apr 15 16:41:17 2012
  InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
  ProcEnviron:
   TERM=xterm
   PATH=(custom, user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: sudo
  UpgradeStatus: Upgraded to precise on 2011-11-08 (159 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/policykit/+bug/982684/+subscriptions




More information about the foundations-bugs mailing list