[Linux-bruxelles] Effacement d'une session invité à sa fermeture

Guillaume de Villers guillaume at devillers.me
Jeu 30 Sep 22:05:05 CEST 2021


me revoici,

Voilà la portion de script qui régit chez moi l'ajout de l'utilisateur 
invité avec un modèle paramétrable. Je prie l'aimable assistance de bien 
vouloir excuser le style ou la syntaxe erratique des lignes qui suivent 
(et celles du script complet et de ses fichiers de travail que l'on 
trouve en attachement), il est tout ce qu'on aime en informatique, la 
sédimentation de plusieurs idées et snipets accumulés sur des années 
sans oublier la procrastination ménagère associée.

Une dernière chose, j'y ai mis une dernière main il y a quelques 
semaines pour le passage à Mint 20.2 sur les postes vieillissants (mais 
encore vaillants les Core2DUO !), je suis donc passé à XFCE, il est 
possible qu'il reste des traces de cannelle.

Ce script est à l'origine destiné au paramétrage, interactif plus que 
rapide, des postes informatiques en accès libre de la bibliothèque, je 
l'ai un tout petit peu nettoyé et ai ajouté l'un ou l'autre commentaire 
(là par contre j'avais fait ça bien, tout est habituellement commenté).

---- les mains enfin dans le cambouis ----

Il faut au préalable créer un utilisateur modèle et le configurer à son 
goût, on en dupliquera le home dans le dossier de travail du script. (le 
contenu de /home/modele n'est pas joint à ce mail)

La fonction qui nous intéresse (le reste est dans le zip joint) :

$workdir et $userhome sont définies plus haut :

userhome=/home/modele
# on s'assure de travailler relativement au dossier racine du script 
d'installation
workdir="$( cd "$(dirname "$0")" ; pwd -P )"


# echo "ajout de l'utilisateur invité"
# Depuis la version 18.2 Mint utilise LightDM par défaut, plus besoin de 
l'installer, on copie tout de même la config et le profil

fn_ajout_invite () {
     # copie de la configuration de lightDM
     cp -rf $workdir/etc/lightdm /etc/

     # on crée un utilisateur "modele" qui  sert à définir le compte invité
     # le mot de passe est généré avec mkpasswd et utilse crypt(3)
     echo "on crée l'utilisateur 'modele' qui sert de config de base 
pour l'invité son pwd est crypté"
     useradd -U -s /bin/bash -d /home/modele -m -p pwdCRYPTEauparavant 
modele

     # copie du home de modele
     cp -rf $workdir/$userhome/. $userhome/
     # on rend les lanceurs exécutables
     chmod +x $userhome/Bureau/*

     # copie des paramètres de la session invitée
     cp -rf $workdir/etc/guest-session /etc/
     chmod 775 /etc/guest-session/*.sh # 755 ne suffit pas pour auto.sh

     # on crée un lien symbolique vers le home de modele pour 
l'utilisateur invité
     ln -s $userhome /etc/guest-session/skel

     # on masque modele dans la liste des utilisateurs et on change son 
arrière-plan
     cp $workdir/var/lib/AccountsService/users/modele 
/var/lib/AccountsService/users/modele
     # on masque aussi l'admin
     cp $workdir/var/lib/AccountsService/users/epn-admin 
/var/lib/AccountsService/users/epn-admin

     # on ajoute un script de nettoyage pour retirer les sessions 
invitées mal effacées guest-xxxxxx (arrêt brutal du système) pas 
remarqué avant mint20.2
         # on pourrait l'appeler au démarrage d'une session invité ..
     cp -rf $workdir/etc/systemd/system/remove-ghost-guests.service 
/etc/systemd/system/
     cp -rf $workdir/usr/local/bin/remove-ghost-guests.sh /usr/local/bin/
     chmod 664 /etc/systemd/system/remove-ghost-guests.service
     chmod +x /usr/local/bin/remove-ghost-guests.sh
     systemctl enable remove-ghost-guests

     # active-t-on un répertore persistant ?
     fn_donnees_persistantes () {
         printline %
         echo "active-t-on un répertore persistant ? ? (Y/N O/N)"
         read persistant
         case $persistant in
         O|o|Y|y)
             echo "ok ! on crée /var/guest-data et on l'ajoute aux 
favoris de Gnome/Cinnamon/xfce"
             mkdir -m 0777 /var/guest-data
             ln -s /var/guest-data $userhome/Sauvegarde
             echo "file://$userhome/Sauvegarde" >> 
$userhome/.config/gtk-3.0/bookmarks
             printline %
             ;;
         N|n)
             echo "Pas de données persistantes alors (penser à éditer 
/etc/guest-session/auto.sh pour le message d'accueil)"
             ;;
         *)
             echo "bon, on reprend"
             fn_donnees_persistantes;
             ;;
         esac
     }
     fn_donnees_persistantes

     # On rend à l'utilisateur modele la propriété de ses fichiers
     chown -R modele:modele $userhome
}


reste à tester le choix des langues !

bon courage et n'hésite pas si ça coince.

Guillaume

Le 30-09-21 à 18:32, Jean-Paul BIÉRENT via Linux-bruxelles a écrit :
> Oui cela serait génial. Merci.
>
> Le jeu. 30 sept. 2021 à 16:28, Guillaume de Villers via 
> Linux-bruxelles <linux-bruxelles at lists.bxlug.be 
> <mailto:linux-bruxelles at lists.bxlug.be>> a écrit :
>
>     re-bonjour Jean-Paul,
>
>     Je t'avais mal lu, j'ai zappé la partie choix de la langue qui
>     n'entre pas en ligne de compte chez moi.
>
>     En revanche ceci fonctionnerait peut-être ?
>
>     https://help.ubuntu.com/community/CustomizeGuestSession#Language_selection_dialog
>     <https://help.ubuntu.com/community/CustomizeGuestSession#Language_selection_dialog>
>
>     bonne journée
>
>     g.
>
>     Le 30-09-21 à 14:04, Guillaume de Villers via Linux-bruxelles a
>     écrit :
>>
>>     Bonjour Jean-Paul,
>>
>>     J'ai peut-être ce qu'il te faut : pour l'EPN de la bibliothèque
>>     de Watermael-Boitsfort, j'utilise les sessions invitées (via
>>     lightdm) avec un modèle de session prédéfini, je peux te partager
>>     mon script post-install si tu veux.
>>
>>     Il faut que je le nettoie et te le commente un peu, il évolue
>>     depuis mint 17 et j'ai dû bidouiller pour la dernière LTS de Mint.
>>
>>     J'essaie de revenir vers toi rapidement (pris toute la journée).
>>
>>     Bien à toi,
>>
>>     Guillaume
>>
>>     Le 30-09-21 à 13:19, Jean-Paul BIÉRENT via Linux-bruxelles a écrit :
>>>     Bonjour la liste;
>>>     J'ai installé pour un EPN d'une Asbl, 5 postes dans lesquels il
>>>     y a 5 langues différentes, l'architecture est composé de Linux
>>>     mint 20.2
>>>     Et j'aimerais à la fermeture de la session employé effacer
>>>     toutes les données enregistrées, donc remettre la session
>>>     employée au niveau initial.
>>>     Cette commande devra être effectuée automatiquement à chaque emploi.
>>>     Merci pour l'aide et explications claires et précises.
>>>     -- 
>>>
>>>     Jean-Paul BIÉRENT
>>>     Privé : 00 32 (0)2/347.55.94 , GSM : 00 32 (0)475/918.033
>>>
>>>     *Au téléphone**: *_*UNIQUEMENT aux heures ouvrables de 9h00 à
>>>     11h30 et de 15h30 à 18h00*_
>>>
>>>     /*_INFORMATIONS sur____(Gnu)____LINUX_ */
>>>
>>>     /*- */_*tous les mercredi matin*____*de 9h30 à 12h00 à de 9h30 à
>>>     12h00 à l'Atelier du web <http://www.atelierduweb.be/>*_ (*déjà
>>>     10 ans...*) - (_sauf jours fériés ou périodes de vacances)_ .
>>>
>>>     - _*tous les jeudi matin *__*UNIQUEMENT SUR RENDEZ-VOUS *__*de
>>>     9h30 à 12h00 à l'Atelier du web <http://www.atelierduweb.be/>*_
>>>     _(sauf jours fériés ou périodes de vacances)._
>>>
>>>     - _*tous les vendredi matin *__*UNIQUEMENT SUR RENDEZ-VOUS
>>>     *__*de 9h30 à 12h00 à l'Atelier du web
>>>     <http://www.atelierduweb.be/>*_ (_sauf jours fériés ou périodes
>>>     de vacances)_.
>>>
>>>     PrimTux, une distribution GNU/Linux POUR LES ENFANTS sur les
>>>     bancs de l’école : http://wiki.primtux.fr/doku.
>>>     <http://wiki.primtux.fr/doku.php/primtux-lubuntu>
>>>
>>>     *Lâchez Windows et passez à Linux (Mint-Ubuntu) pour les nuls !*
>>>     <http://www.pragmasoft.be/wikilinux>
>>>
>>>     L'agenda des install-party  : https://lecoinlinux.be/
>>>     <https://lecoinlinux.be/> (en cours de construction...)
>>>
>>>     Pour l'autodéfense numérique : http://www.revoltenumerique.
>>>     <http://www.revoltenumerique.herbesfolles.org/>
>>>
>>>     Pourquoi "Choisir Linux"! :http://www.whylinuxisbetter.
>>>     <http://www.whylinuxisbetter.net/index_fr.php?lang=fr>
>>>
>>>     Wiki Linux Mint :
>>>     <http://www.whylinuxisbetter.net/index_fr.php?lang=fr>https://www.pragmasoft.be/
>>>     <https://www.pragmasoft.be/>
>>>
>>>     *Comme skype**©® *Visio conférence avec
>>>     https://framatalk.org/accueil/ <https://framatalk.org/accueil/>
>>>
>>>
>>>     _______________________________________________
>>>     Linux-bruxelles :
>>>     Èchanger, partager, s'informer par mails sur toute action, proposition accordée avec:http://www.bxlug.be/?Nos-statuts  <http://www.bxlug.be/?Nos-statuts>
>>>
>>>     ! 64 kb autorisés par mail, tout fichier inclus !
>>>
>>>     Linux-bruxelles at lists.bxlug.be  <mailto:Linux-bruxelles at lists.bxlug.be>
>>>     https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles  <https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles>
>>>
>>
>>     _______________________________________________
>>     Linux-bruxelles :
>>     Èchanger, partager, s'informer par mails sur toute action, proposition accordée avec:http://www.bxlug.be/?Nos-statuts  <http://www.bxlug.be/?Nos-statuts>
>>
>>     ! 64 kb autorisés par mail, tout fichier inclus !
>>
>>     Linux-bruxelles at lists.bxlug.be  <mailto:Linux-bruxelles at lists.bxlug.be>
>>     https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles  <https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles>
>>
>     _______________________________________________
>     Linux-bruxelles :
>     Èchanger, partager, s'informer par mails sur toute action,
>     proposition accordée avec: http://www.bxlug.be/?Nos-statuts
>     <http://www.bxlug.be/?Nos-statuts>
>
>     ! 64 kb autorisés par mail, tout fichier inclus !
>
>     Linux-bruxelles at lists.bxlug.be <mailto:Linux-bruxelles at lists.bxlug.be>
>     https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles
>     <https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles>
>
>
> _______________________________________________
> Linux-bruxelles :
> Èchanger, partager, s'informer par mails sur toute action, proposition accordée avec: http://www.bxlug.be/?Nos-statuts
>
> ! 64 kb autorisés par mail, tout fichier inclus !
>
> Linux-bruxelles at lists.bxlug.be
> https://chahut.domainepublic.net/cgi-bin/mailman/listinfo/linux-bruxelles
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/linux-bruxelles/attachments/20210930/b32adb47/attachment-0001.html>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: install-LM20.2-xfce.zip
Type: application/x-zip-compressed
Taille: 33459 octets
Desc: non disponible
URL: </pipermail/linux-bruxelles/attachments/20210930/b32adb47/attachment-0001.bin>


Plus d'informations sur la liste de diffusion Linux-bruxelles