Jak wyłączyć sesję gościa?

183

Jak wyłączyć sesję gościa w systemie Ubuntu 11.10 lub nowszym? Nie chcę, aby ludzie mogli korzystać z mojego komputera bez hasła do logowania!

Jeremy Bicha
źródło
11
Czy naprawdę nie możesz wymyślić żadnego przypadku użycia, w którym użytkownik chciałby wyłączyć konto gościa? : P W moim przypadku jestem jedynym, który pracuje na moim komputerze, więc włączenie go nie ma sensu. Mogę też pomyśleć o innych scenariuszach, ale chyba
poszedłby poza tematem
@mikewhthing - LightDM jest menedżerem pulpitu, a nie menedżerem bezpieczeństwa. To nie jest żadna firma zajmująca się bezpieczeństwem i użytkownikami. Przełamanie unikatowego modelu bezpieczeństwa powinno wystarczyć. Ale jeśli nie, spróbuj wyszukać raporty o błędach związanych z bezpieczeństwem. Ludzie wciąż przypadkowo wyłamują się z piaskownicy Unity / LightDM (sam złożyłem co najmniej dwa). Jak myślisz, co mógłby zrobić atakujący?

Odpowiedzi:

121

Zaktualizowano: 2016-sierpień

Dla Ubuntu 16.04 LTS (15.10 lub nowszy)

Na podstawie: LightDM Ubuntu Wiki - Konfiguracja

  • Dostarczone przez system pliki konfiguracyjne nie/usr/share/lightdm/przeznaczone do edycji przez użytkownika. Zamiast tego użytkownicy powinni użyć:/etc/lightdm/
  • Nowsze wersje LightDM (Ubuntu 15.10 lub nowszy) używają [Seat:*]zamiast[SeatDefaults]

Po prostu uruchom to (raz) na terminalu:

sudo sh -c 'printf "[Seat:*]\nallow-guest=false\n" >/etc/lightdm/lightdm.conf.d/50-no-guest.conf'

Aby cofnąć (przywróć opcję gościa), usuń utworzony plik :

sudo rm /etc/lightdm/lightdm.conf.d/50-no-guest.conf

Dla Ubuntu 14.04 LTS (do 15.04)

Na podstawie: Fora Ubuntu - lokalizacja plików konfiguracyjnych lightdm w 14.04

Po prostu uruchom to (raz) na terminalu:

sudo sh -c 'printf "[SeatDefaults]\nallow-guest=false\n" >/usr/share/lightdm/lightdm.conf.d/50-no-guest.conf'

Przy następnym logowaniu nie będziesz już mieć opcji „Gość” jako opcji logowania.

Aby cofnąć (przywróć opcję gościa), usuń utworzony plik :

sudo rm /usr/share/lightdm/lightdm.conf.d/50-no-guest.conf

Dla Ubuntu 12.04 LTS (do 13.10)

Najprostsza metoda.

Po prostu uruchom to (raz) na terminalu:

sudo /usr/lib/lightdm/lightdm-set-defaults -l false

Przy następnym logowaniu nie będziesz już mieć opcji „Gość” jako opcji logowania.

  • To po prostu dołącza się allow-guest=falsedo /etc/lightdm/lightdm.conf.

  • Powinno działać od 11.10 wzwyż (ponieważ używają one również LightDM ).

Aby cofnąć (przywróć opcję gościa):

sudo /usr/lib/lightdm/lightdm-set-defaults -l true
david6
źródło
4
Działa to dla mnie 13.10.
wim
2
Pracowałem dla mnie w wersji 14.04 beta 2. BTW, SeatDefaults nie jest błędem w pisowni, nie zmieniaj go na SetDefaults.
Nitish Parkar
1
To działało dla mnie na Xubuntu 14.04.1 LTS. Jednak poprawię to zdanie: „Przy następnym logowaniu nie będziesz już miał opcji„ Gość ”jako opcji logowania. W rzeczywistości pozostał on do momentu lightdmponownego uruchomienia w moim przypadku.
Melebius
1
Niepotrzebne cytowanie w najnowszej edycji; zobacz help.ubuntu.com/stable/ubuntu-help/... Ponadto: /etc/lightdm/lightdm.conf.dfolder jest tworzony automatycznie tylko w 16.04.1, więc w poprzednich wersjach należy go utworzyć przed uruchomieniem polecenia ( sudo mkdir /etc/lightdm/lightdm.conf.d).
Gunnar Hjalmarsson
1
Pracowałem dla 16.04, jednak muszę ponownie uruchomić lightdm, aby zastosować tę zmianę (uwaga: to także zakończy bieżącą sesję):sudo /etc/init.d/lightdm restart
Jeff Ward
115

Tej metody należy używać tylko w przypadku Ubuntu Desktop. Jeśli używasz innego smaku, takiego jak Xubuntu lub Lubuntu, zapoznaj się z tą odpowiedzią .

Jeśli używasz domyślnego LightDM, edytuj, /etc/lightdm/lightdm.confaby wyglądał tak:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false

Jeśli używasz GDM (który był domyślny w poprzednich wersjach Ubuntu), odinstaluj gdm-guest-session .


W przypadku Ubuntu od 13.10 do 14.10 plik został przeniesiony do/etc/lightdm/lightdm.conf.d/50-unity-greeter.conf

W systemie Ubuntu 14.10 lub nowszym plik został przeniesiony do /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

Jeremy Bicha
źródło
8
Odpowiedź wydaje się nieaktualna dla 13.10
wim
2
Instrukcje są takie same dla 13.10, z wyjątkiem tego, że plik został przeniesiony do:/etc/lightdm/lightdm.conf.d/50-unity-greeter.conf
Andrew Ensley,
3
@Andrew: Bardziej sensowne jest utworzenie nowego pliku, np /etc/lightdm/lightdm.conf.d/50-no-guest.conf. Opcja allow-guest nie jest specyficzna dla jedności.
Gunnar Hjalmarsson
3
Ubuntu 14.04: Znalazłem .conf tutaj: /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf. Aby zlokalizować plik, którego użyłemlocate
Charles
1
Działa również w wersji vivid (15.04), z konfiguracją /usr/sharerównież.
setempler
24

Wpisz to w terminalu

gksu gedit /etc/lightdm/lightdm.conf

Zobaczysz:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu

Dodaj allow-guest=falsedo końca, aby Twój wynik końcowy wyglądał następująco:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false

Zapisz dokument i zamknij edytor tekstu.

Z powrotem w terminalu uruchom ponownie menedżera wyświetlania. (To zakończy graficzną sesję logowania, natychmiast zamykając wszystkie uruchomione w niej programy, więc upewnij się, że twoja praca - podobnie jak wszystkie otwarte dokumenty - jest zapisywana jako pierwsza!)

sudo restart lightdm

Po zakończeniu graficznej sesji logowania nastąpi powrót do ekranu logowania, na którym zauważysz, że konto gościa jest wyłączone.

To wszystko - konto gościa nie jest już użyteczne.

sarveshlad
źródło
18

Możesz to zrobić za pomocą Ubuntu Tweak .

Aby go zainstalować, użyj następujących poleceń:

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Po instalacji przejdź do TweaksUstawienia logowania i wyłącz „Konto gościa”.

ustawienia logowania do ulepszenia ubuntu

Eliran Malka
źródło
2
Miłe znalezisko, a przy okazji, Ubuntu Tweak będzie kontynuowany .
mikewhthing
łał! dobrze wiedzieć, @mikewhthing! (to było szybkie, chyba bardzo za nami tęsknił ...)
Eliran Malka
11

Po prostu biegnij

gksudo gedit /etc/lightdm/lightdm.conf

Dodaj następujący wiersz

allow-guest=false

Następnie (spowoduje to natychmiastowe wylogowanie, zamknięcie programów uruchomionych w sesji graficznej, więc najpierw zapisz swoją pracę):

sudo restart lightdm
LnxSlck
źródło
4

Jak wyłączyć tę opcję w przyszłości

Właśnie natknąłem się na ten sam problem w mojej nowej zaufanej instalacji / 14.04. Również ku mojemu zdziwieniu nie mogłem znaleźć lightdm.conf.dfolderu wewnątrz /etc/lightdm/właśnie users.conf.

Dochodzenie

$ find / -iname *lightdm* 2>/dev/null | grep -v /mnt | grep -v /media | grep -v /home
[...]
/usr/share/lightdm/lightdm.conf.d
[...]

Aha, proszę bardzo. Co tam jest?

$ ls -1 /usr/share/lightdm/lightdm.conf.d/
50-greeter-wrapper.conf
50-guest-wrapper.conf
50-ubuntu.conf
50-unity-greeter.conf
50-xserver-command.conf

Okej, co tam jest?

$ cat /usr/share/lightdm/lightdm.conf.d/*
[SeatDefaults]
greeter-wrapper=/usr/lib/lightdm/lightdm-greeter-session
[SeatDefaults]
guest-wrapper=/usr/lib/lightdm/lightdm-guest-session
[SeatDefaults]
user-session=ubuntu
[SeatDefaults]
greeter-session=unity-greeter
[SeatDefaults]
# Dump core
xserver-command=X -core

Wniosek

Znajdujemy kilka plików konfiguracyjnych podobnych do formatu INI, zgodnie ze schematem nazewnictwa 50-${some-descriptive-name}.confi konfiguracją kluczy dla tej sekcji [SeatDefaults].

My nie zamierzamy zmieniać każdy z tych plików jako te mają być zarządzane przez menedżer pakietów, ale teraz, jak powinniśmy dodawać i zarządzać naszymi bitów konfiguracyjnych zwyczaj na /etc.

Rozwiązanie

Biorąc pod uwagę powyższe, lightdm jest menedżerem wyświetlania, a pliki konfiguracyjne wyglądają jak wyżej. Następujące rozwiązanie powinno działać:

  1. Utwórz brakujące katalogi:

    $ sudo mkdir -p /etc/lightdm/lightdm.conf.d
    
  2. Dodaj niestandardowy plik konfiguracyjny, uruchamiając:

    $ sudo nano /etc/lightdm/lightdm.conf.d/50-disable-guest-session.conf
    

    i wklej następujące linie:

    [SeatDefaults]
    allow-guest=false
    

    Następnie zapisz ( Ctrl+ O) i zamknij ( Ctrl+ X).

  3. Teraz wyloguj się i przejdź do wirtualnego terminala ( Ctrl+ Alt+ F1), a następnie uruchom:

    $ sudo service lightdm restart
    

    Opcja sesji gościa powinna teraz zniknąć. Jeśli coś nie działa poprawnie, wiesz teraz, gdzie jest przechowywana domyślna konfiguracja i że jej nie zmieniłeś.

Dalsza lektura

LiveWireBT
źródło
Lub, jeśli nie chcesz utworzyć dodatkowego pliku, umieść go w istniejącym pliku /etc/lightdm/lightdm.conf
tombert
3

W przypadku Ubuntu 13.10 dodaj

allow-guest=false

do pliku /etc/lightdm/lightdm.conf.d/10-ubuntu.conf.

uahummer
źródło
3

13.04 i później

  1. Wykonaj to polecenie w terminalu

    sudo /usr/lib/lightdm/lightdm-set-defaults -l false
    
  2. Uruchom ponownie komputer lub uruchom ponownie lightdmza pomocą następującego polecenia
    (spowoduje to natychmiastowe wylogowanie, zapisanie danych)

    sudo restart lightdm
    

Wydaje się, że działa w 13.10 (nie można sprawdzić się, ale nie jest to komentarz tutaj ).

Używam 13.04 a wszystko to dołączyć allow-guest=falsedo /etc/lightdm/lightdm.conf, ale to może być różny w 13.10.

Pierwotnie przez david6 stąd: https://askubuntu.com/a/169105/176889

kiri
źródło
1
Dzięki. Utworzył plik lightdm.conf, taki sam jak w przypadku ciebie, z plikiem allow-guest = false.
11chubby11
Powinieneś także zrobić, sudo restart lightdmaby zmiany zaczęły obowiązywać. Bez tego sesja gościa będzie nadal wyświetlana na ekranie logowania po wylogowaniu.
Burhan Ali,
2

Zainstaluj ubuntu-tweak, przejdź do zakładki tweak, wyłącz przycisk gościa i uruchom ponownie. Otóż ​​to!

Terminal może być łatwiejszy, ale w przypadku potrzeby włączenia konta gościa, trzeba będzie ponownie odwiedzić tę stronę i zobaczyć instrukcje (a raczej cofnąć). To zaleta GUI ... łatwo o tym pamiętać.

tadatma
źródło
2

Zmieni allow-guest=truesię 'false'w/etc/lightdm/lightdm.conf

Następnie możesz ponownie uruchomić lub ponownie uruchomić usługę w terminalu:

sudo restart lightdm

Zakładając, że używasz, lightdmco jest standardem w 11.10.

pliki craps
źródło
0

Jestem w tym samym przypadku, plik /etc/lightdm/lightdm.confnie istnieje w UBUNTU 13.10.

Próbuję utworzyć /etc/lightdm/lightdm.confplik z tą linią allow-guest=falsei CRASH, system nie uruchamia się poprawnie, tylko tryb konsoli ...

Próbuję edytować plik /etc/lightdm/lightdm.conf.d/10-ubuntu.confi działa poprawnie.

Edytuj plik

sudo vim /etc/lightdm/lightdm.conf.d/10-ubuntu.conf

I wprowadź potrzebne linie

# to disable guest login
allow-guest=false
# to enable user login manually
greeter-show-manual-login=true

I ostatni, uruchom ponownie system

sudo reboot

Myślę, że to działa dobrze, jeśli uruchomisz tylko ligthgdm

sudo service lightdm restart
Foncu
źródło
0

Otwórz terminal

gksudo gedit /etc/lightdm/lightdm.conf

Dodaj następujący wiersz

allow-guest=false

Zapisz i zamknij plik.

scouser73
źródło
1
Ponadto w moim Ubuntu 13.10 nie było gksudo (lub gksu).
11chubby11
Działa dobrze w Ubuntu 14
tom