%files -n systemd-user-helper
%manifest systemd-user-helper.manifest
-%caps(cap_sys_admin,cap_mac_admin,cap_setgid=ei) %{_bindir}/systemd_user_helper
+%caps(cap_sys_admin,cap_mac_admin,cap_mac_override,cap_dac_override,cap_setgid=ei) %{_bindir}/systemd_user_helper
%posttrans -n systemd-user-helper
cp -a /usr/lib/systemd/system/user\@.service /usr/lib/systemd/system/__user@.service
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
+#include <errno.h>
#include <sched.h>
#include <sys/mount.h>
#define LEGACY_CONTENTS_DIR "/opt/usr/media"
-#define LAZYMOUNT_LIB "/usr/lib/liblazymount.so"
+#define LAZYMOUNT_LIB "/usr/lib/liblazymount.so.0"
#define CONTAINER_LIB "/usr/lib/security/pam_krate.so"
#define LOAD_SYMBOL(handle, sym, name) \
fprintf(stderr,"unshare failed\n");
return r;
}
+
+ r = mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL);
+ if (r < 0) {
+ fprintf(stderr,"Failed to change the propagation type of root to SLAVE\n");
+ return r;
+ }
+
return 0;
}
r = mount(tzplatform_getenv(TZ_USER_CONTENT),
LEGACY_CONTENTS_DIR, NULL, MS_BIND, NULL);
if (r < 0) {
- fprintf(stderr, "user content bind mount failed\n");
+ fprintf(stderr, "user content bind mount failed - %d\n",errno);
return r;
}
return 0;
int (*wait_mount_user)(void);
r = access(LAZYMOUNT_LIB,F_OK);
- if (r < 0)
+ if (r < 0){
+ fprintf(stderr, "cannot find lazymount module - No support lazymount\n");
return 0;
+ }
h = dlopen(LAZYMOUNT_LIB, RTLD_LAZY);
if (!h) {
fprintf(stderr, "wait_mout_user failed\n");
return r;
}
+
return 0;
}