С gdm3 я смог удалить последних подключенных пользователей из списка, удалив файл '/ var / log / ConsoleKit / history'
С помощью lightdm последние пользователи появляются, даже если:
- удаление / var / log / ConsoleKit / history
- удаление /var/lib/lightdm/.cache/unity-greeter/state
Где Lightdm хранит этот список?
Редактировать:
Похоже, что он использует контент из last
команда. Затем очистка содержимого файла /var/log/wtmp
достаточно для удаления любого из ранее подключенных пользователей из списка:
# > /var/log/wtmp
Но после этого у меня есть нежелательный побочный эффект, который пользователи, подключающиеся через lightdm, вообще не отображаются в этом списке.
Я должен сказать, что я в сетевой среде предприятия, используя NIS.
Edit2:
Ну, похоже, что lightdm использует wtmp для отображения списка последних сетевых пользователей, но не обновляет его. Таким образом, lightdm будет показывать сетевому пользователю только в том случае, если он зарегистрировался другим способом (ssh, login), как и раньше на этом компьютере. сравни:
Edit3:
Я просто добавил следующую строку в файл /etc/pam.d/lightdm
Чтобы заставить lightdm хранить пользователей в wtmp:
session optional pam_lastlog.so silent
Таким образом, чтобы удалить последних подключенных пользователей сети из списка, просто очистите /var/log/wtmp
файл :
# > /var/log/wtmp
Кроме того, чтобы make lightdm помнил последних подключенных пользователей сети, можно добавить следующую строку в файл /etc/pam.d/lightdm
:
session optional pam_lastlog.so silent
Я установил /etc/lightdm/lightdm.conf
как показано ниже, чтобы экран greeter не показывал список пользователей. Вам нужно вручную ввести свое имя пользователя и пароль.
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false
greeter-show-remote-login=false
greeter-hide-users=true
hide-users=true
Последний пользователь для входа в lightdm хранится здесь:
/var/lib/lightdm/.cache/lightdm-gtk-greeter/state
Обратите внимание на точку в .cache
,
Безопасно просто удалить файл.
Я также искал это и, наконец, понял, как это сделать в Ubuntu 16.04.
Кажется, lightdm получает список пользователей из / var / cache / lightdm / dmrc /. Эта папка содержит файл с именем каждого пользователя, который вошел в систему. Просто удалите файлы для нежелательных пользователей из этого каталога, и greeter больше не показывает их.
EDIT: И это, конечно, после того, как уже было сделано предложение (очистка / var / log / wtmp и / var / log / btmp). Если пользователи по-прежнему остаются после этого, найдите файлы или папки, содержащие имена пользователей в файловой системе, и удалите их.
Я также сталкивался с этой проблемой 16.04, но с сетевыми учетными записями из AD через SSSD.
После многих пробных ошибок я использовал следующее, чтобы избавиться от учетной записи:
Список всех аккаунтов:
# qdbus --system org.freedesktop.Accounts
..
/org/freedesktop/Accounts/User1000
/org/freedesktop/Accounts/User10000
Теперь, чтобы удалить пользователя с UID 10000:
Необязательно (если это пользователь AD): adduser deleteme и установить UID на 10000 в / etc / passwd; иначе следующий шаг не удастся
Удалить пользователя через dbus:
dbus-send --system --print-reply --type=method_call --dest='org.freedesktop.Accounts' /org/freedesktop/Accounts org.freedesktop.Accounts.DeleteUser int64:<ENTER UID HERE> boolean:false
Это приведет к удалению обоих «removeeme» из passwd, чтобы избавиться от записи в lightdm и в меню «пользовательский коммутатор» (вверху справа при входе в систему)