Forum général.général Moyen pour bloquer une session utilisateur sur plage horaire

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
10
fév.
2019

Bonjour.

Je cherche un moyen de bloquer les sessions utilisateurs (sous Ubuntu) pendant une tranche horaire donnée. Je ne cherche pas seulement à empêcher les nouvelles connections, mais dans l'idéal, si une session utilisateur est active, celle-ci ne soit plus utilisable pendant cette tranche horaire.

Connaitriez-vous un moyen de le faire ? Je pourrais passer par un script en cron qui tuerait sauvagement la session en cours, et désactiverait le compte pendant cette tranche horaire, mais je chercherais une solution moins brutale.

Avez-vous des idées ?

Merci d'avance.

  • # Crontab

    Posté par  . Évalué à 1.

    tu commente l'user dans /etc/shadow pour bloquer puis tu décommentes pour débloquer

  • # Pam

    Posté par  . Évalué à 3.

    • [^] # Re: Pam

      Posté par  (site web personnel) . Évalué à 3.

      De mémoire, cela bloque l'ouverture mais une fois ouverte, la session (application) fonctionne indéfiniment.

      • [^] # Re: Pam

        Posté par  (Mastodon) . Évalué à 2.

        C'est probable, mais du coup je le couplerais à une simple commande exécutée systématiquement à l'heure de déconnexion (et si elle est appelée pour rien c'est pas grave) : skill -KILL -u username

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # kidtimer

    Posté par  (Mastodon) . Évalué à 2.

    Salut,

    Quand j'étais confronté au problème, j'ai utilisé un script jeu de scripts shell nommé kidtimer, qui a très bien fonctionné pendant des années sur le PC en libre service de la maison :

    • configure les plages d'utilisation (ma fille de 10 ans à l'époque de 18 à 20h, mon fils plus agé de 16 à 22h…)
    • configure les durée d'utilisation, avec déconnexion automatique (ma fille: 1H de session, mon fils 2h…)

    De plus, il y a un CLI qui permet d'ajouter du temps "exceptionnellement", de faire un reset de la session…

    https://github.com/JimDunphy/kidtimer

    Bon, maintenant mes enfants sont plus grand, et ils ont tous des ordiphones, le besoin se fait moins sentir… juste on récupére le mobile de la plus petite à 21h30 (15 ans).

    Courage !

  • # scripter et jouer avec udev/xdev

    Posté par  . Évalué à 2.

    en scriptant tu dois pouvoir bloquer le clavier et la souris de l'utilisateur
    evidemment si c'est un PC familiale, et que tu veux juste bloquer le petit dernier mais permettre à madame de se connecter, faut etre plus rusé

    mais c'est une excellente question.

    peut-etre chercher du coté des modes KIOSK ?
    plus complexe, simplement mettre un proxy dans la maison avec des plages horaires selon l'utilisateur, mais ca ne fonctionnera que pour internet et non pour l'usage local (edition de document, regarder des videos locales - mais qui regarde encore des videos en local - )

  • # chage

    Posté par  . Évalué à 1.

    chage : C'est un truc UNIX standard ; il te reste plus qu'à scripter un peu un truc avec pour être lancé par un cron.

    bash$ man chage
    ...
    ...
           -E, --expiredate EXPIRE_DATE
               Set the date or number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also be expressed in the format YYYY-MM-DD (or the format more commonly used in your area). A user whose account is locked must contact the system administrator before being able to use the system again.
    
               Passing the number -1 as the EXPIRE_DATE will remove an account expiration date.
    ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.