Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions static/usr/lib/systemd/system-generators/hybrid-users
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash

set -eu

mode="$(/usr/libexec/core/get-mode mode)" || mode="$(/usr/libexec/core/get-arg snapd_recovery_mode)" || mode="unknown"

WANTS="${1}/local-fs.target.wants"

enable() {
ln -s "/usr/lib/systemd/system/${1}" "${WANTS}/"
}

USERS_P=/run/snapd/hybrid-users

# Only for hybrid in recover mode
if [ -f "$USERS_P"/passwd ] && [ "${mode}" = "recover" ]; then
mkdir -p "${WANTS}"
enable etc-passwd.mount
enable etc-shadow.mount
enable etc-group.mount
enable etc-gshadow.mount
fi
5 changes: 5 additions & 0 deletions static/usr/lib/systemd/system/etc-group.mount
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Mount]
Where=/etc/group
What=/run/snapd/hybrid-users/group
Type=none
Options=bind
5 changes: 5 additions & 0 deletions static/usr/lib/systemd/system/etc-gshadow.mount
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Mount]
Where=/etc/gshadow
What=/run/snapd/hybrid-users/gshadow
Type=none
Options=bind
5 changes: 5 additions & 0 deletions static/usr/lib/systemd/system/etc-passwd.mount
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Mount]
Where=/etc/passwd
What=/run/snapd/hybrid-users/passwd
Type=none
Options=bind
5 changes: 5 additions & 0 deletions static/usr/lib/systemd/system/etc-shadow.mount
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Mount]
Where=/etc/shadow
What=/run/snapd/hybrid-users/shadow
Type=none
Options=bind
Loading