Temporary OEM user not removed after end user setup

Bug #1436937 reported by Jean-Baptiste Lallement on 2015-03-26
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
shadow (Ubuntu)
High
William Grant
Vivid
High
William Grant

Bug Description

Vivid Ubuntu Desktop 20150326

The temporary OEM user is not removed after end user configuration and presented as default the first time the user logs in.

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: oem-config (not installed)
ProcVersionSignature: Ubuntu 3.19.0-10.10-generic 3.19.2
Uname: Linux 3.19.0-10-generic i686
ApportVersion: 2.16.2-0ubuntu4
Architecture: i386
Date: Thu Mar 26 17:41:22 2015
InstallCmdLine: file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash --- apt-setup/restricted=false apt-setup/multiverse=false oem-config/enable=true
InstallationDate: Installed on 2015-03-26 (0 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Beta i386 (20150326)
ProcEnviron:
 LANGUAGE=fr_FR
 TERM=xterm
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: ubiquity
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Jean-Baptiste Lallement (jibel) wrote :
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1436937

tags: added: iso-testing
Launchpad Janitor (janitor) wrote :

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

Changed in ubiquity (Ubuntu):
status: New → Confirmed
Martin Wimpress (flexiondotorg) wrote :

On Ubuntu MATE 15.04 Beta 2 when the user complete the OEM config (username, location, keyboard, etc) the desktop part loads then fails to restart. After a reboot the system is still in OEM config mode, then 'Prepare for shipping to end user' is still present on the desktop and the 'oem' user is the default user and has sudo rights.

Changed in ubiquity (Ubuntu):
importance: Undecided → Low
Changed in hundredpapercuts:
status: New → Confirmed
importance: Undecided → Low
Changed in ubiquity (Ubuntu):
importance: Low → High
Changed in ubiquity (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.21.18

---------------
ubiquity (2.21.18) vivid; urgency=medium

  * Overhaul for proper systemd support (LP: #1436937)
  * bin/oem-config-prepare: set the systemd default target to oem-config.target
    instead of using /var/lib/oem-config/run as a flag.
  * bin/oem-config-firstboot:
    - after removing the oem user, set the default target back to graphical.
    - call for systemd to start the graphical target, so as to complete booting
      to graphical or to TTYs after oem-config-firstboot has run.
  * debian/oem-config.target: create a new target for oem-config so that it can
    start without conflicting with a display-manager that may also want to
    start and use the oem user in auto-login.
  * debian/oem-config.oem-config.service: simplify the service's start
    conditions; we don't really need to worry about Before/After since we'll
    run in our own isolated target.
  * debian/oem-config.install: force the installation of the new target in the
    right location for systemd.
 -- Mathieu Trudel-Lapierre <email address hidden> Thu, 02 Apr 2015 13:58:02 -0400

Changed in ubiquity (Ubuntu):
status: In Progress → Fix Released
Adolfo Jayme (fitojb) on 2015-04-03
no longer affects: hundredpapercuts
Jean-Baptiste Lallement (jibel) wrote :

Re-opening. It is not entirely fixed in image 20150417.1

Changed in ubiquity (Ubuntu):
status: Fix Released → Triaged
Changed in ubiquity (Ubuntu Vivid):
milestone: none → ubuntu-15.04
Jean-Baptiste Lallement (jibel) wrote :

When it happens removal of oem user fails with (full log attached)

+ userdel --force --remove oem
userdel: user oem is currently used by process 706
userdel: cannot open /etc/subuid

output of getent passws oem:
oem:x:29999:29999:OEM Configuration (temporary user),,,:/home/oem:/bin/bash

⟫ cat /tmp/subuid
oem:100000:65536
ubuntu:165536:65536

Jean-Baptiste Lallement (jibel) wrote :

strace of "userdel --force --remove oem"

William Grant (wgrant) wrote :

userdel's user_busy opens subuid RO, but fails to close it on error, causing the later RW subuid open to fail.

Changed in ubiquity (Ubuntu Vivid):
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → William Grant (wgrant)
status: Triaged → In Progress
affects: ubiquity (Ubuntu Vivid) → shadow (Ubuntu Vivid)
Martin Pitt (pitti) on 2015-04-20
Changed in shadow (Ubuntu Vivid):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package shadow - 1:4.1.5.1-1.1ubuntu4

---------------
shadow (1:4.1.5.1-1.1ubuntu4) vivid; urgency=medium

  * debian/patches/1020_fix_user_busy_errors:
    - libmisc/user_busy.c: Call sub_uid_close in all error cases, otherwise
      code that later opens it as RW fails obscurely. (LP: #1436937)
 -- William Grant <email address hidden> Mon, 20 Apr 2015 18:41:47 +0100

Changed in shadow (Ubuntu Vivid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers