Zase ten vlastník /run/user/1000/dconf/user

Založil aricak, 11. 03. 2019, 14:59:01

Předchozí téma - Další téma

aricak

Ahoj, již vím, že cokoliv co sputtím jako ROOT nějakou X aplikaci dojde ke změně vlastníka /run/user/1000/dconf/user  na ROOT:ROOT, když po chvilce se systém zblázní a dojde k přetečení RAM a se strojem pak nelze nic dělat než trvdý RESET.
Nic méně jde to rychle napravit tak, že se změní vlastník na aktuálního uživatele. což je umě jakub což je 1000. Jinými slovy takto:

chown 1000:1000 /run/user/1000/dconf/user

mno, ale nesmí se na to zapomenout.

Našel jsem řešení ale nejspíš je to na systém RED HAT
https://bugs.mageia.org/show_bug.cgi?id=11643

kde píšou o skritpu a opravě což je toto:
https://bugs.mageia.org/attachment.cgi?id=4514

jak tento patche mohu aplikovat na systému DEBIAN, jestli to vůbec jde.


diff -Naur a/shm/dconf-shm.c b/shm/dconf-shm.c
--- a/shm/dconf-shm.c 2013-03-14 20:27:40.000000000 +0200
+++ b/shm/dconf-shm.c 2013-11-17 16:08:44.048343098 +0200
@@ -33,7 +33,16 @@
   static gchar *shmdir;

   if (g_once_init_enter (&shmdir))
-    g_once_init_leave (&shmdir, g_build_filename (g_get_user_runtime_dir (), "dconf", NULL));
+    /* if user is root, he has the ability to overwrite the other users'
+     dconf runtime directory, hence hanging their sessions, despite
+     the 0700 permissions. Make root always use his home dir instead
+     of the common runtime one.
+   */
+
+    if (getuid != 0)
+        g_once_init_leave (&shmdir, g_build_filename (g_get_user_runtime_dir (), "dconf", NULL));
+    else
+        g_once_init_leave (&shmdir, g_build_filename (g_get_home_dir (), ".cache", "dconf", NULL));

   return shmdir;
}


Prosím kdo ví jak to opravit? Nebo lze udělat nějaký skript co bude automaticky hlídat vlastníka /run/user/1000/dconf/user a po té jej změní na správného?
Debian Vydání 9 (stretch) 64-bit
VERZE OS: Jádro Linux 4.9.0-8-amd64 x86_64
MATE 1.16.2

PC Intel XEON E3 1230 3,2GHZx8
RAM 16GB
Grafická karta GeForce GT 710 PCI-e 1x