6 votes

Comment vous verrouiller temporairement hors du compte principal?

Je recherche quelque chose comme LeechBlock, ou StayFocusd mais en version améliorée, c'est-à-dire quelque chose qui pourrait bloquer mon accès à Internet temporairement, mais le faire d'une manière qui serait vraiment difficile à désactiver, contrairement à ces plugins de navigateur (une "difficulté majeure" serait quelque chose comme réinstaller le système d'exploitation)

Si je crée un compte "restreint", bloque son accès à Internet et l'exclut des sudoers, cela fonctionnerait pour moi, mais seulement si je pouvais d'une manière ou d'une autre me verrouiller hors de mon compte principal sur la machine, temporairement.

Est-ce possible sur Ubuntu? (Je suis actuellement sur la version 11.04, mais je pourrais envisager de mettre à jour ou de payer pour cette fonctionnalité)

Laisser simplement quelqu'un d'autre être l'administrateur de ma machine n'est pas une solution acceptable pour moi.

Quelque chose comme une tâche cron réinitialisant temporairement le mot de passe pourrait fonctionner, mais cela devrait être quelque chose de très fiable, évidemment. Je ne peux pas risquer d'être bloqué définitivement, parce que la machine a dû redémarrer, etc.

J'ai également posé une version plus générale de cette question sur productivity.SE.

6voto

Takkat Points 135194

PAM

Une approche agréable mais pas si facile à surmonter pour bloquer temporairement l'accès à votre compte est de définir des règles pour le module d'authentification pluggable pam_time. En le faisant, nous pouvons définir une certaine période de la journée pendant laquelle nous sommes autorisés à nous connecter et à utiliser notre compte. La connexion échouera en dehors de ces horaires définis.

Dire à lightdm d'utiliser pam_time :

Pour appliquer pam_time, nous éditons /etc/pam.d/lightdm pour ajouter la ligne suivante :

account    required    pam_time.so

Définir les règles pour pam_time :

Toutes les règles pour pam_time sont stockées dans /etc/security/time.conf. Consultez la page de manuel pour time.conf pour plus de détails sur la syntaxe. Par exemple, pour refuser la connexion à l'utilisateur oleg les jours ouvrables de 8h à 17h, nous ajoutons la ligne suivante :

login; *; oleg; !Wd0800-1700

Pour contourner ces règles, nous pouvons commenter les lignes ajoutées avec un accès root (par exemple, en démarrant un système en direct ou avec un autre compte utilisateur).

En plus de restreindre l'accès, nous pouvons également restreindre l'accès à certains services auxquels nous ne voulons pas accéder :

http; *; oleg; !Wd0800-1700

désactivera l'accès Internet pour l'utilisateur oleg les jours ouvrables de 8h à 17h.

2voto

Magnus Points 113

Comme suggéré par un autre utilisateur dans la discussion liée, le module pam_time est capable de verrouiller temporairement les utilisateurs.

0voto

user141238 Points 61

Si vous pensez que ce sera trop facile de désactiver PAM avec un CD en direct :

  1. Créez un script d'initialisation qui s'exécute en premier au démarrage, vérifie l'horloge système et détermine si l'heure actuelle est autorisée. Si l'heure actuelle est valide, faites en sorte que le script démarre un niveau d'exécution personnalisé qui connecte automatiquement un utilisateur et lance X pour lui. Si le mode de secours a été sélectionné, ne suivez pas la procédure normale et changez le niveau d'exécution pour celui que vous avez créé. Cet utilisateur ne doit pas pouvoir utiliser su root ou être dans sudoers. Assurez-vous d'utiliser d'abord un système de test, jusqu'à ce que vous soyez convaincu que les modifications apportées à /etc/rc* et /etc/init* monteront et démonteront correctement les systèmes de fichiers, et ne causeront aucun dommage au système. L'accès aux consoles virtuelles devra être modifié, ou tout simplement ne pas les démarrer.

  2. Réglez la priorité de démarrage dans le BIOS sur le disque dur en premier, pour rendre le démarrage à partir d'un CD en direct impossible.

  3. Définissez un mot de passe BIOS difficile à retenir, et mettez en place un service de rappel par e-mail pour vous le renvoyer à un moment spécifique. Vous pouvez utiliser des services gratuits pour cela à partir de sites tels que http://www.kisreminder.com/, ou http://www.nudgemail.com/how/.

Les seuls moyens de contourner cela seront d'ouvrir l'ordinateur, et soit de retirer le disque dur et de modifier les fichiers, soit de réinitialiser le BIOS pour pouvoir changer l'heure. Si votre ordinateur a un moyen de verrouiller le châssis, vous pourriez le verrouiller avec un cadenas dont vous pouvez oublier la combinaison, et également envoyer un rappel par e-mail pour la combinaison à un moment spécifique à l'avenir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X