[Bug 1008344] Re: checks "admin" group membership instead of querying polkit

Gunnar Hjalmarsson gunnarhj at ubuntu.com
Mon Dec 31 14:27:32 UTC 2012


If we can't make polkit provide the desired information without real
authentication attempts, and since this is a GUI issue and not a
security issue, maybe a gsettings key could be a sufficient solution to
this bug.

try:
    gsettings_value = subprocess.check_output(
      ['gsettings', 'get', 'com.ubuntu.language-selector',
       'no-greyed-out-admin-buttons']).decode().rstrip()
except subprocess.CalledProcessError:
    gsettings_value = 'false'
if gsettings_value == 'true':
    self.is_admin = True
else:
    # find out if user has admin privileges via unix groups
    try:
        in_grp_admin = grp.getgrnam("admin")[2] in os.getgroups()
    except KeyError:
        in_grp_admin = False
    try:
        in_grp_sudo = grp.getgrnam("sudo")[2] in os.getgroups()
    except KeyError:
        in_grp_sudo = False
    self.is_admin = (os.getuid() == 0 or in_grp_sudo or in_grp_admin)

Then, when giving a user admin privileges without using the "sudo" or
"admin" unix group, changing the value of the gsettings key for that
user would prevent the buttons in question from being greyed out.

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

Title:
  checks "admin" group membership instead of querying polkit

Status in “language-selector” package in Ubuntu:
  Triaged

Bug description:
  In a new install of Ubuntu Precise, I cannot make any system-wide
  changes in the language selector (such as installing languages or
  clicking "Apply System-Wide"), only user-specific changes. All those
  controls for system-wide changes are greyed out, although my user does
  have sudo abilities and I would be able to enter the root password of
  the machine.

  The machine is freshly installed, but with customizations specific to
  our site, e.g. ldap authentication for users. Specifically, my user is
  an ldap user, not a local one, and there is a group in the ldap
  directory which was granted sudo capability by adding it to
  /etc/sudoers. My user is part of that group. sudo on the command line
  and gksudo work fine.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: language-selector-gnome 0.79
  ProcVersionSignature: Ubuntu 3.2.0-24.39-generic 3.2.16
  Uname: Linux 3.2.0-24-generic x86_64
  ApportVersion: 2.0.1-0ubuntu8
  Architecture: amd64
  Date: Mon Jun  4 08:20:04 2012
  PackageArchitecture: all
  ProcEnviron:
   LANGUAGE=en_US:
   TERM=screen-256color
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: language-selector
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/language-selector/+bug/1008344/+subscriptions




More information about the foundations-bugs mailing list