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)
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 :
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.
Noyau récent MANJARO x86_64 bits: 64 Xfce 4.16
ASUSTeK model: PRIME B350M-A v: Rev X.0x
6-Core: AMD Ryzen 5 2600X
AMD Baffin [Radeon RX 460/560D / Pro
driver: amdgpu v: kernel
Display: x11 server: X.Org driver: amdgpu,ati unloaded: modesetting
OpenGL: renderer: Radeon RX 560 Series
Arch en Dual. Aucun lien publicitaire ne saurait être toléré dans la signature!
pour te rassurer un petit test (mais il me semble que justement tu prouves que le sudo ne passe pas la commande suivante ):
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
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 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.
Manjaro-Xfce-Compiz 64
Desktop
CPU amd-phenom-64(pci=nomsi dans grub)
CG nvidia GeForce GT 730
Ram : 4 Go
kernel : 54 branche : stable, driver GPU : Nvidia-non-libre
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
bon ben je me suis fait des nœuds dans le cerveau pour rien 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 ?
Manjaro-Xfce-Compiz 64
Desktop
CPU amd-phenom-64(pci=nomsi dans grub)
CG nvidia GeForce GT 730
Ram : 4 Go
kernel : 54 branche : stable, driver GPU : Nvidia-non-libre
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.
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
Je plussois
Noyau récent MANJARO x86_64 bits: 64 Xfce 4.16
ASUSTeK model: PRIME B350M-A v: Rev X.0x
6-Core: AMD Ryzen 5 2600X
AMD Baffin [Radeon RX 460/560D / Pro
driver: amdgpu v: kernel
Display: x11 server: X.Org driver: amdgpu,ati unloaded: modesetting
OpenGL: renderer: Radeon RX 560 Series
Arch en Dual. Aucun lien publicitaire ne saurait être toléré dans la signature!