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).

#51 02-11-2022 16:59:02

totoZero7
Membre
Distrib. : Debian 11.6 Bullseye
Noyau : 5.10.0-21-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Bon, j'ai fait un truc tout chelou qui semble fonctionner, mais je préfère demander si c'est correcte:

visudo

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
toto    ALL=(root) /usr/local/bin/monscript


sudo /usr/local/bin/monscript update

Atteint :1 http://deb.debian.org/debian bullseye InRelease
Atteint :2 http://security.debian.org/debian-security bullseye-security InRelease                                                      
Atteint :3 http://deb.debian.org/debian bullseye-backports InRelease  


Si je veux utiliser l'option -c

sudo /usr/local/bin/monscript -c=test.conf install firefox

ça retourne à la ligne sans rien faire d'autre.


Est-ce correcte ?
En admettant que cela soit bon. Comment faire pour donner le nom "apt-get" au lieu du chemin "/usr/local/bin/monscript" ?

Hors ligne

#52 02-11-2022 18:09:48

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

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Comment faire pour donner le nom "apt-get" au lieu du chemin "/usr/local/bin/monscript" ?


la je vois pas trop , tu peux pas lui donner le nom d'une commande existante , sinon c'est toujours le script qui sera exécuté
mais tu n'as pas besoin de mettre le chemin car il doit etre déclaré dans le PATH
a vérifier

echo $PATH



ta qu'a l'appeler rapt-get lol

Dernière modification par Croutons (02-11-2022 18:11:28)


-->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

#53 02-11-2022 19:17:59

totoZero7
Membre
Distrib. : Debian 11.6 Bullseye
Noyau : 5.10.0-21-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Croutons a écrit :

tu n'as pas besoin de mettre le chemin car il doit etre déclaré dans le PATH


Je modifie donc, comme suit, le sudoers:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:usr/local/bin/monscript"

# Allow members of group sudo to execute any command
toto    ALL= /usr/local/bin/monscript

C'est correcte maintenant ?


Croutons a écrit :

ta qu'a l'appeler rapt-get


J'ai donc créé un alias dans .bash_aliases

alias rapt-get="sudo /usr/local/bin/monscript"


Cela fonctionne mais j'ai été obligé d'intégrer sudo dans l'alias sinon "sudo rapt-get update" ne fonctionnait pas (sans mettre sudo dans l'alias bien évidemment) .
Là ça fonctionne:

rapt-get update


Mais  on est loin de la commande de base "sudo apt-get update". Faut le retenir... et ça fait pas très propre à mon goût.
Peut-on déclarer un alias dans le fichier sudoers ou c'est uniquement le rôle de .bash_aliases ?

Hors ligne

#54 03-11-2022 11:59:40

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:usr/local/bin/monscript"


usr/local/bin/monscript n'a rien à faire là. Le chemin du script est /usr/local/bin, et il est déjà inclus.

totoZero7 a écrit :

J'ai donc créé un alias dans .bash_aliases


Pas besoin d'alias. Il suffit de renommer le script en "rapt-get" et de l'invoquer avec sudo.

sudo rapt-get <options>


Il vaut mieux montrer que raconter.

Hors ligne

#55 03-11-2022 16:43:01

totoZero7
Membre
Distrib. : Debian 11.6 Bullseye
Noyau : 5.10.0-21-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Comment renommer le script en rapt-get ?
J'ai fouiné partout et n'ai rien trouvé. Je dois être le seul à vouloir faire ce truc tordu.

Est-ce qu'il y aurait un autre moyen pour donner à toto le droit d'utiliser la formule classique pour installer un paquet : "sudo apt-get install <paquet>" , tout en restreignant ses options (-c..), plutôt que de devoir en modifier le nom (rapt-get) ?

Hors ligne

#56 03-11-2022 16:52:22

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

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Comment renommer le script en rapt-get ?


sudo mv /usr/local/bin/monscript /usr/local/bin/rapt-get


je sent que je vais me faire taper sur les doigts car mv c'est pas une commande pour renommer à la base big_smile

Dernière modification par Croutons (03-11-2022 16:54:21)


-->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

#57 03-11-2022 17:45:26

totoZero7
Membre
Distrib. : Debian 11.6 Bullseye
Noyau : 5.10.0-21-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Bien vu croutons, j'étais parti surper loin dans des changements de nom par alias...

raleur a écrit :

totoZero7 a écrit :
    Comment faire pour autoriser uniquement la commande "apt autoremove"


Ajoute "autoremove" à la liste des commandes d'apt-get acceptées dans l'expression du script.


Voici le script avec ajout de "autormove" dedans:

printf "%s" "$*" | grep -vEq "^(--no-install-recommends )?(install|update|upgrade|dist-upgrade|autoremove)( [a->
apt-get --no-remove "$@"



Quand j'exécute la commande du script, ça ne fait pas ce que fait root

sudo rapt-get autoremove

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Aucune suppression n'est censée se produire : impossible de lancer « AutoRemover »
E: Handler silently failed


root@debM11:/etc# apt-get autoremove

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Les paquets suivants seront ENLEVÉS :
  libbotan-2-17 libtspi1
0 mis à jour, 0 nouvellement installés, 2 à enlever et 49 non mis à jour.
Après cette opération, 6253 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]


J'ai donc retiré "--no-remove" du script. Cela fonctionne.
Mais pourquoi il y avait "--no-remove" dans le script ; sur quoi j'ai donc enlevé une protection en supprimant cela ?

Hors ligne

#58 03-11-2022 19:31:15

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Croutons a écrit :

mv c'est pas une commande pour renommer


Si. Première ligne de la page de manuel de mv(1) :

mv - Déplacer ou renommer des fichiers


Il me semble qu'on ne peut pas faire plus explicite.

totoZero7 a écrit :

Mais pourquoi il y avait "--no-remove" dans le script


Pour empêcher la désinstallation de paquets lors de l'installation d'autres paquets. Par exemple (fictif), l'utilisateur demande d'installer KDE et ça désinstalle la moitié de GNOME.
Forcément, ce n'est pas compatible avec autoremove. A moins que ça te soit égal, il faudrait raffiner le script pour ajouter --no-remove seulement si la commande est "install".


Il vaut mieux montrer que raconter.

Hors ligne

#59 03-11-2022 21:54:11

totoZero7
Membre
Distrib. : Debian 11.6 Bullseye
Noyau : 5.10.0-21-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Merci raleur.

Avec toutes les bourdes que j'ai fait dans ce fil, j'ai approché de plus près sudo et l'installateur de paquets apt-get. Je suis encore loin d'avoir tout compris mais
de ce que je comprends, si un user a la possibilité de faire apt-get (écrit explicitement ainsi), alors root prend un risque en terme de sécurité.

Seul la modification via un script, qui change du coup le nom de la commande qui joue le rôle de apt-get, ici rapt-get pour l'exercice, peut donner droit d'installer des paquets avec apt-get en sécurisant le root.
Donc pour ceux qui ont plusieurs logins avec des sudo apt-get actif, sudo et root sont pareil. C'est à connaître.

Dans mon cas personnel, je suis seul sur ce PC et n'ai donc pas besoin d'avoir recours à cela. Mais si je devais partager mon PC, waah, je serais méga parano.
En tout cas, ce fil a radicalement modifié ma façon de voir sudo.

Donc pour conclure, sécuriser le mot de passe root de l'utilisateur sudo est possible mais demande une modification qui changera le nom des commandes habituellement utilisées ; ce qui, à mon sens, n'a pas trop d'intérêt si on souhaite apprendre et retenir le nom de ces commandes (ex: sudo apt-get).

Hors ligne

#60 03-11-2022 23:12:22

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Mais si je devais partager mon PC, waah, je serais méga parano.


Si tu es parano tu chiffres.
Si tu chiffres, tu dois être là pour débloquer la session.
Donc tu dois être là de toute façon.
Donc tu peux bien le débloquer quand il veut installer un logiciel ou faire des opérations en tant que root.

Et pour tout le reste, y a le dualboot, qui est facile à faire et qui ne pose pas de souci de sécurité.
...Sinon de supprimer ta partition chiffrée, mais faut que la personne te veuille du mal à priori. (et dans ce cas, juste installe un autre système linux sur un SSD dédié de 60Go à 20€ ou sur un disque qui traine, et débranche ton disque à toi)

Pour moi ce sujet résume très bien pourquoi tu t'y prends pas sous le bon angle. Le temps qu'on a pris à t'expliquer comment c'était éventuellement possible en se rendant la vie impossible, tu aurai une véritable solution flexible et sans ratage possible en place comme je viens de le décrire. Et SIMPLE. KISS.

Dernière modification par otyugh (03-11-2022 23:14:59)


virtue_signaling.pngpalestine.png

En ligne

Pied de page des forums