Réunion inopinée, pause pipi, pause-café, alarme incendie, inondation, attaque etc. verrouillez votre PC en un clic.

Les évènements du Capitole, Washington, D.C.  le 6 janvier dernier m’ont suggéré de partager quelques notions très simples de sécurisation de votre session informatique en cas de panique.

Windows

Si vous avez devant vous un antagoniste, l’effet de presser sur CTRL + ALT + SUP ne passera pas inaperçu, ni anodin à ce dernier. Car en sus, il faudra choisir d’éteindre, verrouiller ou de se déloguer !

Créez un raccourci avec ces propriétés :

C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation

Puis, glissez le raccourci dans la barre de taches.

En cas d’urgence, vous pourrez verrouiller votre PC en *un* clique !

La touche Windows + L est une équivalence mais pas discret !

On peut également utiliser une GPO (voir la documentation de Active Directory)

Linux

(Pour un terminal)

Installer vlock (selon votre distribution, zypper, apt…)

Puis créer un raccourci (par exemple fmyo) avec ce contenu :

sudo vlock -a -s -c

Rendre le raccourci exécutable.

Un clique et voilà le *terminal* est verrouillé

(pour son bureau en entier)

sudo apt-get install xscreensaver

OU

https://software.opensuse.org/search?utf8=%E2%9C%93&baseproject=ALL&q=xscreensaver

OU
sudo yum install xscreensaver-base

Pour verrouiller votre écran :  xscreensaver-command -lock

Créer un raccourci et placez la ligne supra et rendez le exécutable avec chmode +x

Mac OSX

(Vérrouiller le bureau)

  • Ouvrez les Préférences Système
  • Cliquez sur Utilisateurs et groupes.
    • Définissez votre mot de passe.
  • Cliquez ensuite sur le bouton Tout afficher en haut à gauche de la fenêtre.
  • Cliquez sur Sécurité et confidentialité
    • Cochez la case Exiger un mot de passe pour la suspension d’activité ou l’économiseur d’écran

Aller à  /System/Library/CoreServices

Glissez ScreenSaverEngine vers le Dock.

Et voilà !

(Verrouiller un terminal tmux)

Créer le fichier bashlock dans /usr/local/bin ou dans votre $PATH

Avec ce contenu :

———-début———

#!/bin/bash

RETRIES=0
MAXRETRIES=5
RETRYSLEEP=4

onexit() {
return
}

checkpassword() {
local PASS=${2//$/\\$}
expect << EOF >/dev/null
spawn su $1 -c « exit »
expect « Password: »
send « ${PASS}\r »
expect eof
catch wait result
exit [lindex \$result 3]
EOF
}

header() {
clear
echo «  »
echo «  »
echo «  »
echo «  »
if [ « ${RETRIES} » -ne 0 ]; then
echo « Locked by ${USER} (${RETRIES} failed login attempts) »
else
echo « Locked by ${USER} »
fi
}

authenticate() {
header
local PASSWORD= » »
local RETRY=0
while true; do
read -s -p « Password:  » PASSWORD
echo
checkpassword ${USER} « ${PASSWORD} »
if [ « $? » -eq 0 ]; then
echo « Welcome back! »
echo «  »
exit 0
else
RETRIES=$((RETRIES+1))
RETRY=$((RETRY+1))
echo « authentication failed! »
echo «  »
if [ « ${RETRY} » -ge « ${MAXRETRIES} » ]; then
RETRY=0
echo « sleeping for ${RETRYSLEEP} »
sleep ${RETRYSLEEP}
header
fi
fi
done
}

trap onexit 1 2 3 15 18 20 ERR
authenticate

——-fin——-

Créer un raccourci (alias) vers bashlock

Avant de terminer, notez qu’à partir de la v 11.9 ces dépendances sont déjà installées :

  • bash
  • expect
  • su

Editez ~/.tmux.conf et placez ce contenu :

# Screen lock

bind-key -n M-x lock-server

set-option -g   lock-after-time 0

set-option -g   lock-server on

set-option -g   lock-command « bashlock »

Et Voilà !

Have a lot of fun !