Debian fórum

Dotazy => Správa a instalace softwaru => Téma založeno: aricak 11. 03. 2019, 14:59:01

Název: Zase ten vlastník /run/user/1000/dconf/user
Přispěvatel: aricak 11. 03. 2019, 14:59:01
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 (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 (https://bugs.mageia.org/attachment.cgi?id=4514)

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

Kód: [Vybrat]
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?