diff options
author | Scott Murray <scott.murray@konsulko.com> | 2021-01-27 15:35:56 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2021-01-27 16:29:46 -0500 |
commit | 6195e3941ed7af426d5a92015c4d2658a9406895 (patch) | |
tree | f9fb4d86134eb7331fdb54090c4b5d53d1b5ca68 /recipes-wam/wam/files | |
parent | f5e746f02956f8dc2cd480dd9ae9c0d7ad833b2c (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-x | recipes-wam/wam/files/wam-user-setup.sh | 25 | ||||
-rw-r--r-- | recipes-wam/wam/files/wam-user-setup@.service | 10 |
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 |