Ubuntu <= 11.10 L'utente segue questa guida per Ubuntu Utente> = 11.10 leggi l'avviso di fondo:
Sì, tutti questi programmi non sono aggiornati e tutte le tue domande hanno una risposta qui e un bell'aspetto con il controllo dei tuoi genitori .....
Quando parliamo di costringere un utente a disconnettersi, quello di cui stiamo veramente parlando è l'implementazione di limiti di tempo sull'account per l'accesso al sistema o ai servizi. Il modo più semplice che ho trovato per implementare i limiti di tempo è usare un modulo plug-in chiamato Linux-PAM .
Pluggable Authentication Module (PAM) è un meccanismo per l'autenticazione degli utenti. In particolare, utilizzeremo il pam_time
modulo per controllare l'accesso a tempo per gli utenti ai servizi.
Utilizzando il pam_time
modulo, possiamo impostare restrizioni di accesso a un sistema e / o applicazioni specifiche in vari momenti della giornata, nonché in giorni specifici o su varie linee terminali. A seconda della configurazione, è possibile utilizzare questo modulo per negare l'accesso ai singoli utenti in base al loro nome, all'ora del giorno, al giorno della settimana, al servizio a cui si applicano e al loro terminale dal quale stanno effettuando la richiesta .
Durante l'utilizzo pam_time
, è necessario terminare la sintassi di ogni riga (o regola) nel /etc/security/time.conf
file con una nuova riga. Puoi commentare ogni riga con il cancelletto [#] e il sistema ignorerà quel testo fino alla nuova riga.
Ecco la sintassi per una regola:
servizi; ttys, gli utenti, i tempi
The first field — services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.
Ecco un esempio di un insieme tipico di regole:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
Queste regole impediscono all'utente bobby di accedere tra le ore 0800 e 2000 e limitano anche l'accesso a Internet durante queste ore. Root sarebbe in grado di accedere in qualsiasi momento e navigare in Internet anche in ogni momento.
Nota: il sistema registra gli errori con queste regole come syslog (3).
Con Ubuntu Linux, è possibile assegnare al proprio computer limiti di tempo, per impedire la connessione di uno o più utenti al proprio sistema. Con le restrizioni temporali, ad esempio, puoi limitare l'accesso al computer per i tuoi figli (una specie di controllo parentale, in breve) , o persino proteggere la connessione al tuo server in determinate ore.
Configurazione manuale
Comprendi cosa farai
Durante questo tutorial, utilizzeremo PAM (moduli di autenticazione collegabili, moduli di autenticazione collegabili in inglese). Ti consente di controllare l'autenticazione dell'utente quando si connettono. Quindi, utilizzeremo i file di configurazione della sicurezza per definire le ore di accesso consentite. Queste manipolazioni possono essere eseguite su qualsiasi versione di Ubuntu e richiedono solo un semplice editor di testo (vim, emacs, nano, gedit, kate, solo per citarne alcuni). Abilita le ore di restrizione tramite il modulo PAM
Prima di tutto, prima vai su /etc/pam.d/
, dove sono tutti i servizi configurabili:
$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su
Se vogliamo bloccare la connessione al computer, dovremo cambiare il servizio gdm. Modifica il file in modo da gdm e aggiungi questa riga di codice (alla fine del file):
account required pam_time.so
GDM è la distribuzione delle schermate di accesso Ubuntu, Edubuntu e Xubuntu. Per Kubuntu, che usa KDE, viene chiamato il servizio kdm, sarà il file che si aprirà. E il gioco è fatto per la configurazione di PAM! Ciò consentirà il controllo delle ore su questo servizio.
Se hai un server, probabilmente non hai la GUI. In questo caso, GDM / KDM non è installato e la connessione non verrà bloccata. Per impedire la connessione a TTY, è necessario modificare il login dello stesso file e aggiungere la stessa riga di codice di quella precedentemente riconosciuta. Questa azione si applica anche alle persone che hanno installato una GUI e vogliono bloccare l'accesso alla schermata di accesso e ai terminali.
Configurare gli orari di accesso
Ora che il servizio PAM è stato attivato, dobbiamo solo configurare i tempi di accesso. Apri il /etc/security
. Sono disponibili diversi file di configurazione:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
Modifica il file time.conf
. Alcune spiegazioni ed esempi (in inglese) che introducono il. Per impostare le pianificazioni di accesso, copia e incolla la seguente riga di codice (alla fine del file, come sempre):
*;*;user;scheduler
Invece del campo utente, inserisci l'account di accesso che desideri bloccare.
Se vuoi bloccare più utenti, inserisci il loro login in una riga, separato dal | operatore. Ad esempio, se voglio congelare i conti di Patrick, John ed Emily:
*;*;Patrick|jean|emilie;scheduler
Con contro, se si desidera bloccare l'accesso al sistema per tutti gli utenti, tranne uno in particolare, utilizzare! davanti all'interessato. Ad esempio, se voglio che l'accesso al computer sia negato a tutti gli utenti, tranne Nicolas e Xavier:
Nicolas *;*;!|xavier;scheduler
Passando ora alle zone di campo. In questo campo sarà consentita la selezione di giorni e ore di connessione. Devi prima specificare il giorno della settimana, usando le seguenti abbreviazioni:
Mo : Monday Fr : Friday Wd : Sa/Su
Tu : Tuesday Sa : Saturday wk : Mo/Tu/We/Th/Fr
We : Wenesday Su : Sunday
Th : Thursday Al : All Days
Fare attenzione a non confondere le abbreviazioni Wk e Wd sono fuorvianti! particolarmente scarsamente identificato su Internet: puoi facilmente trovare informazioni contrastanti!
Quindi, specifichiamo le scadenze. Questi dovrebbero essere formattati 24H, composto da 4 cifre. Ad esempio, per limitare le 15:17 alle 18:34, scriviamo: 1517-1834. Per consentire a Marie di connettersi solo martedì, dalle 15:17 alle 18:34, otteniamo il risultato:
*;*;marie;Tu1517-1834
Le connessioni al di fuori di questi orari saranno vietate. Per quanto riguarda gli utenti, è possibile utilizzare gli operatori | e! per indicare più volte (il! indica quindi che sono consentite tutte le ore di accesso, tranne quelle da mostrare).
Le due stelle (caratteri jolly) all'inizio della riga di codice sono rispettivamente campi tty e servizi. Dal momento che si desidera bloccare tutti gli accessi al sistema, non è necessario specificare quale servizio o quale tty si desidera bloccare. Tuttavia, se si desidera impedire l'uso di un determinato servizio, è sufficiente specificarlo come nell'esempio seguente:
login;tty1|tty4|tty5;marie;!Wd0000-2400
Pertanto, l'utente sposato non può connettersi a un TTY, 4 e 5 durante il fine settimana.
Alcuni esempi di pianificazione delle restrizioni
mathilde è autorizzata a connettersi ogni giorno dalle 13:20 alle 15:20 e dalle 16:00 alle 20:30:
*;*;mathilde;Al1320-1520|Al1600-2030
Stone, Frank e Florian possono collegarsi alle 14:00 alle 18:45 durante i giorni feriali e dalle 14:00 alle 22:15 per il fine settimana:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Olive non può mai connettersi. jessica può accedere mercoledì dalle 13:00 alle 16:00:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 righe diverse, per due tempi diversi per ogni utente Scadenza di una sessione
Quando una sessione scade (supera il tempo mentre l'utente è già connesso), la PAM può raggiungere l'utente. Mentre mathilde si collega durante le ore di tempo consentite, è perfettamente libero di superare queste ore! Per questo, useremo un nuovo programma: "cron". Questa applicazione esegue i comandi a intervalli di tempo. Nel nostro caso, utilizzeremo il comando "kill-KILL-u" per disconnettere l'utente alla scadenza della sessione. La gestione è molto semplice. Basta modificare il file ´ / etc / crontab´. Quindi aggiungere la seguente riga di codice:
Minute Hour Day * * (s) root skill -KILL -u User
Come prima, sostituendo le pianificazioni dei campi Minuti e il tempo desiderato. Quindi compilare il giorno (i) per (i) giorno (i) vietato (i) o semplicemente digitare un asterisco (*) per indicare tutti i giorni della settimana. Infine, modifica il campo utilizzato dall'account di accesso da bloccare e voilà!
I giorni non si notano allo stesso modo con i cron
lavori! Ecco l'elenco delle abbreviazioni da utilizzare con questo programma:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
Alcuni esempi di cron
lavori (con esempi di volte nella sezione precedente)
jessica può accedere mercoledì dalle 13:00 alle 16:00
-> Disconnetti: martedì alle 16:00.
00 16 * root * wed skill -KILL -u jessica
mathilde è autorizzata a connettersi ogni giorno dalle 13:20 alle 15:20 e dalle 16:00 alle 20:30.
-> Disconnessione: tutti i giorni, dalle 20:30 alle 15:20 ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Stone, Frank e Florian sono autorizzati a collegarsi alle 14:00 alle 18:45 durante i giorni feriali e dalle 14:00 alle 22:15 per il fine settimana
-> Disconnect (1): lunedì, martedì, mercoledì, giovedì e venerdì, alle 18:45. -> Disconnect (2): sabato e domenica alle 22:15.
45 18 * * mon,tue,wed,thu,fri root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22 * * sat,sun root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
Il comando skill-KILL-u disconnette l'utente dalla GUI, così come TTY. È perfettamente utilizzabile per gli amministratori di server. Tuttavia, questo comando è immediato e la disconnessione verrà effettuata senza preavviso. Sarebbe quindi preferibile impedire l'installazione di questo dispositivo agli utenti del computer o della rete in questione!
È possibile impedire agli utenti un wall
comando avviato cron
pochi minuti prima della fine del periodo di tempo , che verrà visualizzato nei terminali di tutti gli utenti.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Per impedire che gli utenti della GUI possano essere usati al posto del comando wall notify-send
è nel pacchetto libnotify-bin
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Utente Ubuntu 11.10
Ho visto un utente che ha avuto problemi con Pam e ho visto un sacco di bug a riguardo, quindi perché la ragione ??? Ubuntu 11.10 non supporta più GDM, il nuovo display manager è lightGDM il problema è il seguente in cui memorizzare questa direttiva account required pam_time.so
penso che sia /etc/pam.d/lightdm
o /etc/pam.d/lightdm-autologin
ma bug come ???
quindi per i prossimi è possibile controllare questi 2 file di registro LightGdm:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
o esegui LightGdm in modalità debug:
LightDM --debug
o segnala un bug:
ubuntu-bug lightdm
Riporto il bug qui, quindi incrocia il dito e aspetta ...