** Description changed: [Impact] Since Jammy, desktop metapackages have gained a Recommends: cloud-init, which means that cloud-init will be installed on upgrades to Noble. On the first boot following the upgrade, cloud-init will run because as far as cloud-init can detect, this is the first boot. However, this is wrong, and we do not want cloud-init to run after the upgrade. One practical impact of this is that by default, cloud-init creates user `ubuntu` with `lock_passwd: true`. If the upgraded machine already has a user `ubuntu`, they will be locked out. [Test Plan] The proposed patch is for ubuntu-release-upgrader to disable cloud-init if it is being installed for the first time during the upgrade. This is done by creating /etc/cloud/cloud-init.disabled. Test #1: This test must be done on 22.04 desktop where cloud-init is not installed. 1. Confirm that cloud-init is not installed $ apt policy cloud-init 2. Do an upgrade $ do-release-upgrade -d 3. After the upgrade, confirm that /etc/cloud/cloud-init.disabled was created by ubuntu-release-upgrader $ cat /etc/cloud/cloud-init.disabled 4. Reboot, and confirm that cloud-init does not run - $ systemctl status cloud-init.service - - It should be skipped because the ConditionPathExists=!/etc/cloud/cloud- - init.disabled is not satisfied. + $ systemctl status cloud-init.target + $ cat /run/cloud-init/ds-identify.log Test #2: This test must be done on 22.04 server where cloud-init is installed. A LXD container works. 1. Confirm that cloud-init is installed: $ apt policy cloud-init 2. Do an upgrade $ do-release-upgrade -d 3. After the upgrade, confirm that cloud-init was not disabled by ubuntu-release-upgrader $ stat /etc/cloud/cloud-init.disabled [Where problems could occur] It is important that the correct file is created to correctly disable cloud-init. Regressions would be related to whether or not this file is created in the correct circumstances. [Original Description] After performing an upgrade, and then rebooting, I am no longer able to login with my user "ubuntu". I get an authentication failure with both the graphical login screen, and when attempting to login on a non- graphical tty. Dropping to a rescue shell, I can see this in the logs: root@xubuntu:~# journalctl -b --grep pam Aug 02 11:52:45 xubuntu systemd[1]: systemd 255.4-1ubuntu8.2 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OP> Aug 02 11:53:00 xubuntu lightdm[1422]: pam_unix(lightdm-greeter:session): session opened for user lightdm(uid=115) by (uid=0) Aug 02 11:53:00 xubuntu (systemd)[1472]: pam_unix(systemd-user:session): session opened for user lightdm(uid=115) by lightdm(uid=0) Aug 02 11:53:00 xubuntu lightdm[1422]: gkr-pam: couldn't unlock the login keyring. Aug 02 11:53:01 xubuntu lightdm[1584]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "ubuntu" Aug 02 11:53:40 xubuntu lightdm[1584]: pam_unix(lightdm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=ubuntu Aug 02 11:53:42 xubuntu lightdm[1604]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "ubuntu" Aug 02 11:53:49 xubuntu lightdm[1604]: pam_unix(lightdm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=ubuntu Aug 02 11:53:51 xubuntu lightdm[1605]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "ubuntu" Aug 02 11:53:58 xubuntu lightdm[1607]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "root" Aug 02 11:53:59 xubuntu lightdm[1607]: gkr-pam: unable to locate daemon control file Aug 02 11:53:59 xubuntu lightdm[1607]: gkr-pam: stashed password to try later in open session Aug 02 11:53:59 xubuntu lightdm[1422]: pam_unix(lightdm-greeter:session): session closed for user lightdm Aug 02 11:53:59 xubuntu lightdm[1607]: pam_unix(lightdm:session): session opened for user root(uid=0) by (uid=0) Aug 02 11:54:00 xubuntu (systemd)[1614]: pam_unix(systemd-user:session): session opened for user root(uid=0) by root(uid=0) Aug 02 11:54:00 xubuntu lightdm[1607]: gkr-pam: unlocked login keyring Aug 02 11:54:10 xubuntu (sd-pam)[1473]: pam_unix(systemd-user:session): session closed for user lightdm Aug 02 11:55:01 xubuntu CRON[2417]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0) Aug 02 11:55:01 xubuntu CRON[2417]: pam_unix(cron:session): session closed for user root Other notes: (1) During the upgrade, the screen saver was disabled. I know this has been a bug in the past, but I do not believe it is the cause here. (2) A work around for this is to drop into a rescue shell, and from root, run e.g. `passwd ubuntu` to reset the user's password. ProblemType: Bug DistroRelease: Ubuntu 24.04 Package: libpam-modules 1.5.3-5ubuntu5.1 ProcVersionSignature: Ubuntu 6.8.0-39.39-generic 6.8.8 Uname: Linux 6.8.0-39-generic x86_64 ApportVersion: 2.28.1-0ubuntu3 Architecture: amd64 CasperMD5CheckResult: pass CloudArchitecture: x86_64 CloudID: none CloudName: none CloudPlatform: none CloudSubPlatform: config CurrentDesktop: XFCE Date: Fri Aug 2 11:55:51 2024 InstallationDate: Installed on 2024-07-30 (3 days ago) InstallationMedia: Xubuntu 22.04.4 LTS "Jammy Jellyfish" - Release amd64 (20240216.1) ProcEnviron: LANG=en_US.UTF-8 PATH=(custom, no user) SHELL=/bin/bash TERM=xterm-256color XDG_RUNTIME_DIR=<set> SourcePackage: pam UpgradeStatus: Upgraded to noble on 2024-08-02 (0 days ago) mtime.conffile..etc.init.d.apport: 2024-04-23T07:30:10
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2075968 Title: cloud-init locks out user `ubuntu` after upgrade from 22.04 to 24.04 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2075968/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs