GNU/Linux >> Linux Esercitazione >  >> Ubuntu

La console può essere sospesa e chiedere una password alla riattivazione?

Anche se sospetto che ciò non sia attualmente possibile, vorrei solo chiedere perché sarebbe qualcosa di molto utile secondo me. Perché quando chiudo il coperchio e sono nella GUI, il mio computer si sospende e quindi richiede una password per essere sbloccato. Tuttavia, se faccio lo stesso in console, non c'è sospensione e non mi chiede una password per accedere nuovamente.

Ora questo può essere un potenziale rischio per la sicurezza, quindi mi chiedevo se c'era un modo per mettere in pausa tutto ciò che scorre attraverso la console quando il coperchio è chiuso, e in modo che quando la macchina si riattiva, devi inserire la tua password nella finestra della console in modo che 'sblocca' la tua sessione? Sto eseguendo Ubuntu GNOME 15.04. Quando dico console, intendo i TTY.

Ho dato un'occhiata a TTY[1-6]:Blocca schermo dopo ritardo (come un salvaschermo), tuttavia non credo che risponda completamente alla mia domanda, in particolare sulla sospensione di qualsiasi cosa in esecuzione in modo che possa continuare al ripristino.

Sto eseguendo Ubuntu GNOME 15.10 con GNOME 3.18.

Risposta accettata:

L'altra domanda che muru ha collegato nei commenti ( TTY[1-6]:Lock screen after delay (like a screensaver) ) ci offre lo strumento per bloccare tty , vlock . Al livello più semplice, puoi combinare vlock -a con pm-suspend in un .bashrc funzione o uno script. Ecco il mio:

$ cat lockTTY.sh 
#!/bin/bash
(sleep 3; sudo pm-suspend) &
vlock -a 

Cosa sta succedendo qui ? Fondamentalmente stiamo lanciando pm-suspend con ritardo in subshell, in background. Nel frattempo usiamo vlock -a per bloccare tutti i tty. Dopo 3 secondi, il laptop si sospende.

Il problema qui tuttavia è il sudo pm-suspend parte. Devi impedire sudo dalla richiesta della password per pm-suspend . Per fare ciò, aggiungiamo la seguente riga alla fine di /etc/sudosers file

$USERNAME ALL = NOPASSWD: /usr/sbin/pm-suspend

Ovviamente sostituisci $USERNAME con il tuo nome utente effettivo. Potresti chiamare sudo visudo per aprire quel file con il tuo editor di testo predefinito impostato in /etc/alternatives/editor , solo per sicurezza, ma qualsiasi editor chiamato con le autorizzazioni appropriate andrà bene.

Cosa ci permette di fare questo script? Sospendi e blocca con i processi ancora in esecuzione. vlock -a ha un grande vantaggio nell'impedire il passaggio ad altre console, quindi non è solo una console bloccata, ma tutte – non puoi semplicemente passare a un'altra tty se una è bloccata.

Correlati:come accedere a una cartella condivisa in Virtualbox in Ubuntu?

Puoi anche sospendere per primo e bloccare per secondo, ad esempio chiamando pm-suspend first e vlock -a secondo. Ma ciò significa che al ripristino c'è la possibilità che qualcuno possa vedere il tuo schermo per una frazione di secondo prima di vlock entra in gioco.

Quale sarebbe la soluzione semplice e sporca nel caso in cui non ti fidi di vlock e non vuoi installarlo? Crea uno script /etc/pm/sleep.d/10_lockTTY con i seguenti contenuti:

#!/bin/bash

case "${1}" in
        hibernate|sleep)
        ;;
        resume|thaw)
     for NUM in $(seq 1 6); do service tty$NUM restart; done         
    ;;
esac

Questo ripristinerà tutti i tty al ritorno dalla sospensione, ma attenzione:tutti i processi che avevi verranno uccisi.


Ubuntu
  1. Posso creare una partizione dedicata per Gparted e avviare da Grub??

  2. Sudo non chiede più la password?

  3. Dove posso trovare e installare le dipendenze per pygame?

  4. come posso cercare i file e comprimerli in un unico file zip

  5. Come posso fare in modo che sudo chieda la password di root?

Come installare e utilizzare Tilda:una console a discesa per Debian 10

Come installare e utilizzare Tilda:una console a discesa per Ubuntu

Che cosa significa "tty"?

Perché Network Manager chiede sempre la password del portachiavi?

Come configurare Pkexec per non richiedere la password?

Perché una directory protetta da password richiede due volte la password?