summaryrefslogtreecommitdiffstats
path: root/recipes-wam/wam/files
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2021-01-27 15:35:56 -0500
committerScott Murray <scott.murray@konsulko.com>2021-01-27 16:29:46 -0500
commit6195e3941ed7af426d5a92015c4d2658a9406895 (patch)
treef9fb4d86134eb7331fdb54090c4b5d53d1b5ca68 /recipes-wam/wam/files
parentf5e746f02956f8dc2cd480dd9ae9c0d7ad833b2c (diff)
wam: add user setup script/servicekoi_10.93.0koi/10.93.010.93.0
Add a per-user setup script, systemd unit to run it, and add the unit as a dependency of systemd's user-runtime-dir@.service so it will be run before the user services on each boot. This should fix the various permission issues currently being seen with WAM startup. Bug-AGL: SPEC-3781 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ie45b43a39530c23439332cdcd7f4550c9f6fc23c
Diffstat (limited to 'recipes-wam/wam/files')
-rwxr-xr-xrecipes-wam/wam/files/wam-user-setup.sh25
-rw-r--r--recipes-wam/wam/files/wam-user-setup@.service10
2 files changed, 35 insertions, 0 deletions
diff --git a/recipes-wam/wam/files/wam-user-setup.sh b/recipes-wam/wam/files/wam-user-setup.sh
new file mode 100755
index 000000000..515ea82ec
--- /dev/null
+++ b/recipes-wam/wam/files/wam-user-setup.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+uid="$1"
+bdir=/run/user
+udir="$bdir/$uid"
+hdir="/home/$uid"
+
+dodir() {
+ local x smackset="$1"
+ shift
+ for x; do
+ test -e "$x" || mkdir -m 700 "$x"
+ chmod 700 "$x"
+ chown "$uid:$uid" "$x"
+ chsmack $smackset "$x"
+ done
+}
+
+dodir '-t -a User::Home' "$hdir/wamdata"
+
+# Initialize lockfile, without this apps will be blocked by SMACK
+touch "$udir/wamsocket.lock"
+chmod 660 "$udir/wamsocket.lock"
+chown "$uid:$uid" "$udir/wamsocket.lock"
+chsmack -a User::App-Shared "$udir/wamsocket.lock"
diff --git a/recipes-wam/wam/files/wam-user-setup@.service b/recipes-wam/wam/files/wam-user-setup@.service
new file mode 100644
index 000000000..f4814787d
--- /dev/null
+++ b/recipes-wam/wam/files/wam-user-setup@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Set up WAM for user %i
+Requires=afm-user-setup@i.service
+After=user-runtime-dir@%i.service afm-user-setup@i.service
+Before=user@%i.service
+
+[Service]
+Type=oneshot
+StartLimitInterval=0
+ExecStart=-/usr/libexec/wam/wam-user-setup.sh %i