Puncte:0

Puppet/Augeas -- comanda ins a funcționat pe RH6, eșuează pe RH7

drapel cn

Am această construcție în modulul meu de păpuși pentru a adăuga o linie /etc/sudoers după ultima linie „Valori implicite”:

  augeas { "sudoers.ssh_auth_sock":
    lentilă => „Sudoers.lns”,
    incl => "/etc/sudoers",
    onlyif => "match Defaults/env_keep/var[. = 'SSH_AUTH_SOCK'] size==0",
    modificări => [
       # Creați o nouă linie implicite pentru cele două variabile
       „în Valori implicite după Valori implicite[last()]”,
       # Faceți această linie implicită un tip +=
       „Ștergeți valorile implicite[last()]/env_keep/append”,
       # atribuiți valori celor două variabile
       „setează Valori implicite[last()]/env_keep/var[1] SSH_AUTH_SOCK”,
    ],
  }

Funcționează perfect pe aparatele mele RedHat 6

Notă: Augeas[sudoers.ssh_auth_sock](provider=augeas):
--- /etc/sudoers 2021-10-12 13:30:52.880901115 +0000
+++ /etc/sudoers.augnew 2021-10-12 13:31:28.697931561 +0000
@@ -77,6 +77,7 @@
 # Valori implicite env_keep += „HOME”

 Secure_path implicite = /sbin:/bin:/usr/sbin:/usr/bin
+Valori implicite env_keep += SSH_AUTH_SOCK

 ## Urmează partea principală: pe ce utilizatori pot rula ce software

Notă: /Stage[main]/Sudoers/Augeas[sudoers.ssh_auth_sock]/returns: executat cu succes

Dar eșuează pe mașinile mele RedHat 7:

Avertisment: Augeas[sudoers.ssh_auth_sock](provider=augeas): Încărcarea a eșuat pentru unul sau mai multe fișiere, consultați depanarea pentru /augeas//error
Eroare: /Stage[main]/Sudoers/Augeas[sudoers.ssh_auth_sock]: Nu s-a putut evalua: Eroare la trimiterea comenzii 'ins' cu parametrii ["Defaults", "after", "/files/etc/sudoers/Defaults[last( )]"]/Eroare la trimiterea comenzii 'ins' cu parametrii ["Defaults", "after", "/files/etc/sudoers/Defaults[last()]"]

Mă poate ajuta cineva să înțeleg ce s-a schimbat sau ce am greșit, astfel încât să pot face ca acest fragment să funcționeze în ambele medii?

drapel cn
„Încărcarea eșuată” în jurnale este un indiciu că Augeas nu a putut analiza unul sau mai multe fișiere. Puteți rula „augtool errors” și puteți publica rezultatul?
hymie avatar
drapel cn
Mulțumesc @raphink -- problema rezolvată.
Puncte:1
drapel cn

Mulțumesc @raphink

erori Augtool spus

Eroare în /etc/sudoers:96.12 (parse_failed)
  Lentila iterată s-a potrivit mai puțin decât ar trebui
  Lentile: /usr/share/augeas/lenses/dist/sudoers.aug:530.10-.70:
    Ultima potrivire: /usr/share/augeas/lenses/dist/sep.aug:47.18-.40:
    Următorul (fără potrivire): /usr/share/augeas/lenses/dist/sudoers.aug:500.16-501.47:

Așa că am verificat linia 96 din /etc/sudoers si se spunea

@includedir /etc/sudoers.d

Aparent, @includedir este acum o sintaxă validă în plus față de sintaxa de stil mai vechi #includedir ... dar obiectivul (meu) augeas nu recunoaște noua versiune.

(* Vizualizare: inclus*)
let includeir =
  [ cheie /#include(dir)?/ . Sep.spațiu . magazin Rx.fspath . eol ]

Am schimbat @ la a # în /etc/sudoers și asta pare să fi rezolvat problema.

drapel cn
Grozav. Dacă cel mai recent Augeas nu acceptă această sintaxă, deschideți o problemă (sau chiar mai bine furnizați un PR pentru a o remedia).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.