Після додавання групи не вдасться вийти з реєстрації + вхід в 18.04?


18

У ubuntu 18.04 з робочим столом за замовчуванням поведінка виходу / входу змінилася:

Раніше в системі Ubuntu, коли я виявив, що мені потрібно додати свій ідентифікатор користувача до якоїсь групи, цього було досить

sudo adduser ludwig docker # adds me to group docker

і тоді мені довелося вийти з системи та увійти знову, щоб змінити групу в силу.

Я зауважую, що з Ubuntu 18.04 після додавання групи та виходу з системи та повернення до неї список ефективних груп залишається незмінним.

Як вирішення проблеми, я перезавантажив систему, що незручно (вимагає зробити правильний вибір у grub та повторно ввести пароль шифрування диска).

  1. Чому поведінка зараз така?
  2. Чи можу я зробити щось інше, крім перезавантаження?

(Я знаю, що я можу запустити ssh у localhost і отримати правильні групи лише у сеансі ssh. Це теж занадто незручно.)


Я тестував sudo usermod -a -G group user18.04, вийшов із системи та повернувся назад, і це спрацювало.
Терранс

також із робочим столом за замовчуванням?
Людвіг Шульце

Ви маєте на увазі, як різниця між GNOME, Xubuntu, Kubuntu тощо? Якщо ви маєте на увазі, що GNOME за замовчуванням, то ні, я не запускаю GNOME. Але команда повинна бути однаковою незалежно від середовища робочого столу, оскільки це основний матеріал пароля / групи, який повинен бути однаковим у всіх DE.
Терранс

Гаразд, я просто встановив GNOME для тестування, і sudo usermod -a -G groupname usernameтам добре працював. Вийшов із системи та повернувся назад, і там змінилися.
Терранс

Розумію. @Terrance ви не використовуєте робочий стіл за замовчуванням. За замовчуванням робочий стіл називається "ubuntu". Я знаю, що вона заснована на gnome, але я розумію, що "gnome" - це ще один робочий стіл. "ubuntu" було змінено так, щоб нагадувати єдність.
Людвіг Шульце

Відповіді:


8

Команда loginctl terminate-user <user>працювала на мене. (Замініть <user>своє ім’я користувача) Ви, ймовірно, не повинні запускати це під час входу в систему, хоча це знищить усі ваші процеси.


підтвердили роботу над Ubuntu 18.04. Набагато простіше, ніж ps & grep!
AqD

Погоджено, це коротше, ніж моє власне рішення. Він також допомагає на ubuntu 19.04. Отримано і прийнято замість власного рішення.
Людвіг Шульце

7

Коли виходите з робочого столу за замовчуванням в ubuntu 18.04, деякі користувацькі процеси не припиняються негайно, а затримуються. Це (спостерігається іншим користувачем):

$ ps axu | grep ^ludwig
ludwig    26508  0.3  0.2  77052  8308 ?        Ss   23:32   0:00 /lib/systemd/systemd --user
ludwig    26509  0.0  0.0 261776  2968 ?        S    23:32   0:00 (sd-pam)
ludwig    26691  0.2  0.3 381288 12204 ?        S<l  23:32   0:00 /usr/bin/pulseaudio --start --log-target=syslog
ludwig    27352  0.0  0.0  49796  3756 ?        Ss   23:33   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

Під час входу в систему, перш ніж ці процеси добровільно завершити роботу, не створюється новий сеанс входу, але старий повторно використовується. Це причина, чому нове членство в групі не видно, це все одно той самий старий сеанс входу.

Вирішення проблеми, щоб уникнути перезавантаження, - це зачекати ~ 20 секунд після виходу з системи та лише після того, як увійти назад. Процеси закінчуються десь між 10 та 20 секундами після виходу з системи.

Редагувати : Як повідомляється в коментарях нижче, іноді затяжні процеси не припиняться навіть з очікуванням, а після входу в систему, членство в групі не оновлювалося. Я виявив, що в цьому випадку це допомагає

ps axu | grep ^ludwig | awk '{print $2}' | xargs kill -9

Замініть ludwigсвоїм іменем користувача. Це вбиває всі процеси, які належать вам. Використовуйте лише тоді, коли ви впевнені, що всі ваші відкриті програми збережені.


Це була моя проблема. Але процеси не пішли після виходу з системи та очікування. Мені довелося вбити процес "systemd --user" і запустити "sudo systemctl daemon-reexec". А також знищити всі процеси dbus, викликати перезапуск системних гвинтів dbus. Потрібно також перезапустити мережевий менеджер. "systemctl перезапустити мережевий менеджер" Можливо, перезавантажте все, що залежить від dbus / systemd
niknah

@niknah О, це погано. Здається, що у вашому випадку було б легше перезавантажитись. Дякуємо, що повідомили всім, що це може бути складніше.
Людвіг Шульце

@niknah Я зіткнувся з тією ж проблемою, що і ти сьогодні. Після виходу з системи та очікування деякі процеси просто не припиняться. Я знайшов рішення і оновлю цю відповідь.
Людвіг Шульце

2

Вирішення проблеми в поточній оболонці полягає у запуску "su", щоб нова група була без перезавантаження.

Як я вже говорив, цю хитрість потрібно застосовувати до кожної оболонки. Це не глобально.


Це можна використовувати для виправлення пристроїв, що не розпізнають adb, після додавання користувача до adbusers aka sudo usermod -a -G adbusers $USER. Тоді можна зробити su $USERі sudo adb kill-server && adb start-serverвиправити проблему
xdevs23
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.