logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 31-10-2021 01:32:46

mcfly
Membre
Inscription : 29-04-2017

Monter automatiquement un fichier chiffré au démarrage

Bonjour,

J'aimerais automatiser des tâches au démarrage et à l'extinction de mon appareil mais je fais face à plusieurs problèmes.

Pour m'expliquer voici ce que je fais aujourd'hui manuellement et que j'aimerais automatiser au démarrage (via crontab) :

1 - Monter une clé usb (celle-ci se monte dans mon dossier /media/ quand je clique dessus via l'explorateur de fichier Thunar, j'aimerais faire de même au démarrage si la clé est détectée comme étant branchée à mon ordinateur)
2 - Ouvrir le fichier chiffré se trouvant à la racine de la clé nommé "X" avec Zulucrypt sans me demander le mot de passe administrateur
3 - N'avoir qu'à entrer le mot de passe pour déchiffrer le fichier depuis Zulucrypt
4 - Si le fichier est déchiffré et que son contenu devient accessible à un point de montage, minimiser Zulucrypt et ouvrir le nouveau point de montage avec Thunar
5 - Ouvrir un fichier de trousseau de mot de passe avec KeepassXC (n'avoir qu'à taper le mot de passe pour ouvrir le trousseau)
6 - Ouvrir Firefox et Thunderbird

Et voici ce que j'aimerais automatiser à l'extinction (par le biais d'une seule commande bash "éteindre") :

1 - Fermer Firefox et Thunderbird
2 - Refermer le trousseau de KeepassXC et quitter KeepassXC
3 - Démonter le fichier chiffré depuis Zulucrypt
4 - Fermer Zulucrypt
5 - Éteindre l'ordinateur

Mes deux principaux problèmes :

- Quand je créer un script bash et que je l'ajoute à crontab avec l'instruction @reboot ce dernier ne s'exécute pas au démarrage (le script est exécutable, le chemin est bon, et je l'ajoute via la commande crontab -e)

- Certaines actions faîtes via bash requièrent les droits admin (notamment le montage) alors que manuellement via l'interface graphique je peux le faire sans droits admins. Plus généralement je n'arrive pas à trouver un moyen de ne pas avoir à retaper mon mot de passe utilisateur une seconde fois après l'ouverture de session

Auriez-vous des conseils ou des idées pour me permettre d'arriver à mes fins ?

D'avance merci pour votre aide smile

Dernière modification par mcfly (31-10-2021 01:40:26)

Hors ligne

#2 31-10-2021 08:12:34

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Monter automatiquement un fichier chiffré au démarrage

Hello

mcfly a écrit :

- Quand je créer un script bash et que je l'ajoute à crontab avec l'instruction @reboot ce dernier ne s'exécute pas au démarrage (le script est exécutable, le chemin est bon, et je l'ajoute via la commande crontab -e)


Sûrement un soucis au niveau des variables, j'en parlais ici
https://debian-facile.org/viewtopic.php … 13#p362013
Pour les autres soucis avec Zucrypt je ne saurais dire car je n'ai jamais utilisé le chiffrage
Par contre je vois pas trop la partie extinction, les étapes 1,2,3,4 me paraisse pas nécessaire autant éteindre l'ordinateur directement
Faire un appel de la commande d’extinction prévu suivant l'environnement de Bureau utilisé

Pour le montage de clé USB, elle devrait être monté automatiquement au démarrage(une option a coché,qui devrait y etre par défaut)
sinon voir aussi en ligne de commande
https://debian-facile.org/doc:systeme:pmount


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#3 31-10-2021 09:44:32

raleur
Membre
Inscription : 03-10-2014

Re : Monter automatiquement un fichier chiffré au démarrage

Utiliser cron pour faire ça est absurde. Comment veux-tu lancer firefox avant même que l'utilisateur a ouvert une session ?
Il serait plus logique d'exécuter un script à l'ouverture de session.
Les montages en tant qu'utilisateur doivent se faire avec udisksctl (udisks2).

Il vaut mieux montrer que raconter.

Hors ligne

#4 31-10-2021 09:56:48

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Monter automatiquement un fichier chiffré au démarrage

crontab c'est réservé a l'utilisateur, tout ce fait en user
donc il me semble bien que cela se fait a l'ouverture de session, vu que l'utilisateur n'est pas logué avant

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#5 31-10-2021 10:43:14

raleur
Membre
Inscription : 03-10-2014

Re : Monter automatiquement un fichier chiffré au démarrage

Source ?

Il vaut mieux montrer que raconter.

Hors ligne

#6 31-10-2021 11:16:26

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Monter automatiquement un fichier chiffré au démarrage

Croutons a écrit :

crontab c'est réservé a l'utilisateur, tout ce fait en user


Quid de la crontab root ?

Edit:
J'ai fait un test avec une crontab user :

20 11 * * * echo "test" > /home/tawal/Term/test


Je me suis déconnecté, je suis passé en tty1, loggué en root, arrêté le service lightdm et attendu d'avoir passé les 11h20.
Puis je relance mon service lightdm et me reconnecte et vérifie la présence (ou pas) du fichier /home/tawal/Term/test :

tawal@Deb1:~/Term$ ls -l test
-rw-r--r-- 1 tawal tawal 5 31 oct.  11:20 test
tawal@Deb1:~/Term$ cat test
test
tawal@Deb1:~/Term$


Donc la crontab user n'attend pas que l'user soit logué wink

Dernière modification par Tawal (31-10-2021 11:27:00)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#7 31-10-2021 13:45:07

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Monter automatiquement un fichier chiffré au démarrage

(je trouve aberrant ce fonctionnement que des commandes d'un user puisse être utilisé sans être logué et sans passé par root)
Sinon un truc  qui fonctionne bien et qui est utilisé par certaine application, c'est d'utiliser un fichier desktop a placer dans le dossier ~/.config/autostart

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#8 31-10-2021 14:03:53

raleur
Membre
Inscription : 03-10-2014

Re : Monter automatiquement un fichier chiffré au démarrage

Croutons a écrit :

(je trouve aberrant ce fonctionnement que des commandes d'un user puisse être utilisé sans être logué et sans passé par root)


Comment crois-tu que cron fonctionne ?


Il vaut mieux montrer que raconter.

Hors ligne

#9 31-10-2021 20:22:39

mcfly
Membre
Inscription : 29-04-2017

Re : Monter automatiquement un fichier chiffré au démarrage

Bonsoir à tous et merci pour vos premières réponses smile

Avant toute chose je pense que ça pourrait être utile que j'indique le contenu de mon script pour montrer ce que j'essaie de faire en guise de test et qui ne se produit pas à l'écran (je veux simplement ouvrir un terminal posant une question) :

#!/bin/bash
echo -n "C'est qui ?"
read -r name

echo "Salut $name !"



Pour le moment je suis bloqué simplement au fait de faire fonctionner ce script au démarrage.

J'ai testé la méthode des variables en ajoutant une instruction comme Croutons pour faire un log en cas d'erreur :

crontab -e



@reboot DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DISPLAY=:0 /home/mcfly/Applications/automatisation.sh 2>>/home/mcfly/Bureau/crontab.txt
 



Rien ne s'est produit après redémarrage et le fichier de log crontab.txt a certe été créé mais est vide.

Ensuite je suis allé dans les paramètres de XFCE et j'ai pu ajouter mon script au démarrage ce qui a effectivement créé un fichier desktop dans mon dossier .config, mais au redémarrage idem rien de particulier ne s'est produit.

Voilà où j'en suis à ce niveau là, ensuite concernant les autres points abordés :

- Le montage automatique ne fonctionne pas au démarrage (en fait j'ai déplacé mon fichier chiffré sur une carte SD et bien que déjà insérée celle-ci n'est pas monté automatiquement comme cela l'est pourtant indiqué dans les paramètres d'XFCE (monter les disques amovibles lors de la connexion). Par contre le montage fonctionne à l'insertion, cependant il est très lent (environ 5 à 8 secondes) alors qu'un simple clic provoque un montage instantané de ma carte SD.

- Concernant l'extinction directe sans démonter le fichier chiffré, je me suis toujours posé la question, et j'avoue que par précaution je fais toujours le démontage du fichier et du support amovible manuellement par clic droit. Même si l'extinction directe est possible j'ai toujours eu peur de corrompre des fichiers ou de faire des bêtises, d'autant plus que mon fichier chiffré contient mon profil firefox et thunderbird qui sont ouverts dans leurs logiciels respectifs, raison pour laquelle je voulais faire un script nommé "bye" qui en un mot ferme ces programmes, démonte l'ensemble et éteint proprement la machine.

- Merci pour la commande udisksctl. Par contre comment puis-je faire pour que cette commande fasse le montage sans devoir taper mon mot de passe sudo ? (de même, lorsque je voudrais démonter et éteindre la machine dans mon cript, comment procéder pour ne pas avoir à taper mon mot de passe sudo ?). J'ai presque l'impression que plutôt que d'avoir un script à lancer il me faudrait un espèce de service qui tourne en continu et gère le démarrage-montage et démontage-extinction.

- Pour crontab j'avoue aussi que je ne comprends pas le principe, ou alors j'imagine qu'il vaut mieux ne pas avoir plusieurs utilisateurs sur la même machine à la maison pour des raisons de sécurité et "de propreté" : sinon cela veut dire que techniquement je pourrais créer depuis ma session des tâches qui se lancent au démarrage du pc alors que quelqu'un d'autre l'utilise (je suis loin d'être malveillant mais je suppose que quelqu'un qui l'est doit probablement pouvoir s'amuser un peu), en terme de propreté je trouve ça moyen de pouvoir créer des tâches sans être sudo car si on est par exemple 3 personnes qui codons chacun une tâche automatisée "monter ma clé usb au démarrage" différentes avec quelques variantes, sachant qu'elles se lancent toutes au démarrage avant la connexion de la session ca ne serait ni très opti ni très propre en terme de performances non ? hmm

Hors ligne

#10 01-11-2021 10:51:55

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Monter automatiquement un fichier chiffré au démarrage

Hello
Pour un essai (test.sh)

#!/bin/bash
firefox &
thunderbird &
read -p "C'est qui ?  " name
echo "Salut $name !"
read



créer un fichier desktop dans le dossier autostart

cat ~/.config/autostart/essai.desktop


[Desktop Entry]
Type=Application
Terminal=false
Exec=xfce4-terminal -x ./test.sh
Name=Hello
StartupNotify=true



Sinon une autre méthode pour ouvrir les applications que je préfère c'est d'utiliser le gestionnaire de session de xfce , cela permet de sauvegarder une session avec la position des différentes applications, je dis pas que c'est impossible avec un script mais plus compliqué

Edit : une ligne interessante a ajouter au fichier desktop

Hidden=false



quand on ne veut plus lancer le .desktop au démarrage de session il suffit d'éditer le fichier et de passer la valeur a true

Hidden=true

Dernière modification par Croutons (01-11-2021 11:34:03)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#11 01-11-2021 11:04:42

raleur
Membre
Inscription : 03-10-2014

Re : Monter automatiquement un fichier chiffré au démarrage

mcfly a écrit :

Pour crontab j'avoue aussi que je ne comprends pas le principe


L'abondante documentation disponible te tend les bras. man cron, man 1 crontab, man 5 crontab...

mcfly a écrit :

j'imagine qu'il vaut mieux ne pas avoir plusieurs utilisateurs sur la même machine à la maison pour des raisons de sécurité et "de propreté"


Tu imagines mal. Linux est un système multi-utilisateur par conception. Et ce n'est pas un seul utilisateur possible à la fois, c'est plusieurs simultanément.

mcfly a écrit :

sinon cela veut dire que techniquement je pourrais créer depuis ma session des tâches qui se lancent au démarrage du pc alors que quelqu'un d'autre l'utilise


Oui, et quel est le problème ?

mcfly a écrit :

je trouve ça moyen de pouvoir créer des tâches sans être sudo


Pourquoi ? En quoi est-ce différent de plusieurs utilisateurs connectés simultanément ?

mcfly a écrit :

si on est par exemple 3 personnes qui codons chacun une tâche automatisée "monter ma clé usb au démarrage"


Seul un utilisateur connecté à une console physique peut monter une clé USB sans privilège root.

Dernière modification par raleur (01-11-2021 11:43:15)


Il vaut mieux montrer que raconter.

Hors ligne

#12 01-11-2021 11:41:02

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Monter automatiquement un fichier chiffré au démarrage

en imaginant que on a des utilisateurs bidouilleur, genre croutons qui ajoute une ligne a son crontab et puis oubli big_smile

*/2 * * * * date>>$HOME/crontab.txt


out.gif


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#13 03-11-2021 18:44:52

mcfly
Membre
Inscription : 29-04-2017

Re : Monter automatiquement un fichier chiffré au démarrage

raleur a écrit :

mcfly a écrit :

Pour crontab j'avoue aussi que je ne comprends pas le principe


L'abondante documentation disponible te tend les bras. man cron, man 1 crontab, man 5 crontab...

mcfly a écrit :

j'imagine qu'il vaut mieux ne pas avoir plusieurs utilisateurs sur la même machine à la maison pour des raisons de sécurité et "de propreté"


Tu imagines mal. Linux est un système multi-utilisateur par conception. Et ce n'est pas un seul utilisateur possible à la fois, c'est plusieurs simultanément.

mcfly a écrit :

sinon cela veut dire que techniquement je pourrais créer depuis ma session des tâches qui se lancent au démarrage du pc alors que quelqu'un d'autre l'utilise


Oui, et quel est le problème ?

mcfly a écrit :

je trouve ça moyen de pouvoir créer des tâches sans être sudo


Pourquoi ? En quoi est-ce différent de plusieurs utilisateurs connectés simultanément ?

mcfly a écrit :

si on est par exemple 3 personnes qui codons chacun une tâche automatisée "monter ma clé usb au démarrage"


Seul un utilisateur connecté à une console physique peut monter une clé USB sans privilège root.



A part être condescendant et réciter des vérités sans prendre la peine de vraiment expliquer derrière tu sers à quoi ?
Est-ce que tu as conscience que tes réponses sont désagréables ?

Je peux entendre que j'ai tort ou que je me trompe sur un sujet (au contraire même, j'utilise debian parce que j'aime apprendre des choses et évoluer), mais il y a une façon de le dire et d'expliquer les choses de manière bienveillante, et je n'apprécie pas ta façon de répondre à mes questionnements par d'autres questions dédaigneuses, ou des explications au lance pierre.

Si ton seul intérêt est de participer de cette façon au sujet que j'ai ouvert je préfère me passer de ton aide.

D'ailleurs vu que tu aimes lire de la doc, je t'invite à lire la définition dans un dictionnaire des mots "condescendance", "bienveillance", et "explication".

Croutons a écrit :

Hello
Pour un essai (test.sh)

#!/bin/bash
firefox &
thunderbird &
read -p "C'est qui ?  " name
echo "Salut $name !"
read



créer un fichier desktop dans le dossier autostart

cat ~/.config/autostart/essai.desktop


[Desktop Entry]
Type=Application
Terminal=false
Exec=xfce4-terminal -x ./test.sh
Name=Hello
StartupNotify=true



Sinon une autre méthode pour ouvrir les applications que je préfère c'est d'utiliser le gestionnaire de session de xfce , cela permet de sauvegarder une session avec la position des différentes applications, je dis pas que c'est impossible avec un script mais plus compliqué



Merci Croutons pour cette solution qui a bien fonctionné sur ma machine, tout s'est lancé au démarrage de la session comme prévu.

Et merci à Tawal d'avoir pris le temps de faire le test et la démonstration avec crontab.

Hors ligne

#14 03-11-2021 19:44:53

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Monter automatiquement un fichier chiffré au démarrage

Croutons a écrit :

en imaginant que on a des utilisateurs bidouilleur, genre croutons qui ajoute une ligne a son crontab et puis oubli big_smile

*/2 * * * * date>>$HOME/crontab.txt


out.gif



Il doit commencer à être massif ton fichier crontab.txt big_smile


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

Pied de page des forums