Le coin des remarques, suggestions et bugs à faire remonter.
Répondre

maj, pacman couplé à yaourt, faille de sécurité ?

#1Messageil y a 7 ans

Bonjour à tous, une question de sécurité me taraude depuis quelques temps. Nous sommes nombreux à utiliser cette commande sous sa forme la plus simple ou via un alias (bien pratique)

sudo pacman-mirrors -g && sudo pacman -Syu && yaourt -Syua
Ce faisant, nous ne respectons pas une règle de sécurité fondamentale concernant yaourt : Ne Jamais compiler avec des droits d'admin !. En effet si l'on analyse dans le détail cette série de commandes empilées, on constate que pacman fait preuve d'un comportement sécuritaire extrêmement judicieux en cassant la règle des 15 minutes de droits accordés par sudo. Essayez ceci pour l'exemple :

sudo pacman -Sy && pacman -Su
Le retour de commande est sans ambiguïté, aucune, pour le second item : erreur : vous ne pouvez pas effectuer cette opération à moins d’être root. Pacman est donc ici dans son rôle de restriction, en refusant un droit sudo en principe valable pour une durée déterminée, sur une commande de nature à modifier le système. yaourt pour ce qui le concerne, respecte le timing de sudo tout comme apt-get il me semble mais je n'en suis pas certain à 100%, à confirmer donc. On peut très bien empiler ces deux commandes qui seront exécutées avec les droits de sudo :

sudo yaourt -C && yaourt -Syua
Ma suggestion ? Remplacer la première commande ci-dessus par celle-ci :

sudo pacman-mirrors -g && sudo pacman -Syu && sudo -k && yaourt -Sua
Qu'en pensez-vous ?

maj, pacman couplé à yaourt, faille de sécurité ?

#2Messageil y a 7 ans

:salut:
Le double && enchaîne une commande sans lien avec la précédente, donc sudo pacman -Syu && yaourt -Sua sont deux commandes distinctes. Le délai d'activation de sudo devant pacman n'agit pas sur yaourt.
On compile donc en simple utilisateur puisqu'on n'invoque pas sudo devant yaourt et que celui-ci ne demande pas nativement les droits administrateur . Dans l'exemple que tu donne,pacman -Su a besoin des droits, donc il les demande et comme le timer est ouvert, il se lance directement.
Concernant yaourt, je pense qu'il est inutile de relancer une synchronisation des miroirs déjà faite avec # pacman -Sy précédemment , donc yaourt -Sua suffit.

maj, pacman couplé à yaourt, faille de sécurité ?

#3Messageil y a 7 ans

:salut: pour te rassurer un petit test (mais il me semble que justement tu prouves que le sudo ne passe pas la commande suivante :confus: ):

sudo id && id & touch /etc/securité.pasbon


Perso je ne lance pas yaourt attaché à pacman, je préfère dissocier les deux.
- le rythme de aur n'est pas le même
- je ne désire pas subir une longue mise à jour (si compilation ... beaucoup de aur)
- le mise à jour aur va masqué les commentaires du pacman -Syu

maj, pacman couplé à yaourt, faille de sécurité ?

#4Messageil y a 7 ans

lemust83 a écrit : Le double && enchaîne une commande sans lien avec la précédente, donc sudo pacman -Syu && yaourt -Sua sont deux commandes distinctes

C'est vrai concernant pacman qui casse, à raison, (on est pas en root) le timing de sudo, pas pour yaourt qui conserve les privilèges du sudo de la commande précédente, essaie celle-ci :

sudo pacman -Syu && yaourt -C
;)
papjoke a écrit : Perso je ne lance pas yaourt attaché à pacman, je préfère dissocier les deux.

ça me semble en effet la meilleure méthode, je fais ça aussi depuis peu :bien mais, je suis bien obligé d'admettre que pendant des années, j'ai compilé avec des droits sudo sans le savoir et il faut aussi le reconnaître, sans aucun soucis particulier. Cela dit je ne vais certainement pas me faire le chantre de la compilation en root, les consignes de sécurité doivent être respectées et c'est pour cette raison que je propose une petite modification de la commande classique de mise à jour. :clindoeil:

maj, pacman couplé à yaourt, faille de sécurité ?

#5Messageil y a 7 ans

:bien
je viens de faire le test
- creation d'un fichier "sudotest" , chmod 755 sudotest

#!/usr/bin/bash
echo "-- suis dans mon yaourt"

echo -en "-- sans sudo:"; id
# git clone https://...
#makepkg
echo -en "\n-- avec sudo:"; sudo id
#sudo pacman -Syu
#sudo pacman -U ..

sudo id && ./sudotest
en sortie :

[sudo] mot de passe pour patrick: 
uid=0(root) gid=0(root) groupes=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),19(log)
-- suis dans mon yaourt
-- sans sudo:uid=1000(patrick) gid=100(users) groupes=100(users),10(wheel),19(log),108(vboxusers),142(docker),997(git),1000(sambashare)

-- avec sudo:uid=0(root) gid=0(root) groupes=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),19(log)



donc si yaourt fait une commande sudo ..., oui le timer compte MAIS il ne fait pas en interne de sudo pour récupérer le paquet ni compiler. juste en interne un sudo pacman -Syu et un sudo pacman -U

maj, pacman couplé à yaourt, faille de sécurité ?

#6Messageil y a 7 ans

bon ben je me suis fait des nœuds dans le cerveau pour rien :rigole: En gros l'erreur de débutant qui consiste à lancer sudo yaourt à la place yaourt n'aurait plus d'incidence néfaste du fait du traitement des droits en interne par yaourt et cela, en fonction des différentes taches à traiter ? Il n'en va pas de même pour le compte root, j'imagine ?

maj, pacman couplé à yaourt, faille de sécurité ?

#7Messageil y a 7 ans

si c'est toujours néfaste/impossible !

en gros le code source d'un yaourt -Syua (source en bash dispo sur github)

sudo pacman -Syu
recherche la liste des paquets aur à mettre à jour
boucle sur les paquets aur à mettre à jour
  • git clone https://aur.archlinux.org/LEPAQUET.git téléchargement de la recette
  • makepkg en interne, makepkg teste si nous sommes en administrateur(sudo/su/...) et nous éjecte si c'est le cas. Création d'un paquet à partir du fichier PKGBUILD téléchargé avec git.
    makepkg refuse le mode admin sinon un méchant code dans le PKGBUILD a tous les droits de détruire notre machine.
  • sudo pacman -U LEPAQUET installer le paquet créé par makepkg
fin de la bouche

Donc avec yaourt, nous avons des droits admin, uniquement pour le pacman -Sy et le -U, pour toutes les autres commandes en interne nous sommes en simple utilisateur.

maj, pacman couplé à yaourt, faille de sécurité ?

#8Messageil y a 7 ans

Merci pour les explications papajoke, au final ce programme (yaourt) est une petite merveille :bien

maj, pacman couplé à yaourt, faille de sécurité ?

#9Messageil y a 7 ans

Erwan a écrit :
lemust83 a écrit : Le double && enchaîne une commande sans lien avec la précédente, donc sudo pacman -Syu && yaourt -Sua sont deux commandes distinctes


C'est vrai concernant pacman qui casse, à raison, (on est pas en root) le timing de sudo, pas pour yaourt qui conserve les privilèges du sudo de la commande précédente, essaie celle-ci :

 sudo pacman -Syu && yaourt -C


Là, c'est différent car yaourt demande les droits pour non pas compiler mais pour gérer les pacorig et autres pacnew. Le timer de sudo est donc logiquement utilisé.
au final ce programme (yaourt) est une petite merveille :bien

Je plussois :bien
Répondre