Ansible paramiko ssh ha bloccato quando aumentare il comando dei privilegi

Aug 20 2020

Ho dispositivi sandvine basati su freebsd, devo creare un playbook per scopi di automazione multipla, ma sto affrontando un problema quando devo aumentare il mio privilegio, l'unico modo per aumentare il privilegio è attraverso questo comando sv_enable sv_adminche funziona come il su -comando cambia prompt da >$a >#sudo non non funziona qui, quindi quando eseguo il playbook e quando si tratta di questo comando sv_enable sv_adminil playbook si blocca, ho cambiato la connessione ssh predefinita per Ansible in paramkio, ma senza fortuna sto ancora affrontando lo stesso problema, apprezzo la tua pronta attenzione a questo argomento E grazie in anticipo.

Il mio playbook:

---
- hosts: device-01
  gather_facts: false
  remote_user: sv_admin
  connection: paramiko
  vars:
    ansible_ssh_private_key_file: /root/.ssh/m2q_id_rsa
    #ansible_ssh_pass: /root/.ssh/m2q_passphrase
  tasks:
    - name: Check Paramiko privilege escalation
      command: "{{ item }}"
      with_items:
        - id
        - pwd
        - 'sv_enable sv_admin'
        - id
      register: shell_output
    - debug: var=shell_output
    - debug:
        msg: hello

Risposte

0xDeCaffedC0de Aug 20 2020 at 22:35

Secondo me hai già trovato la risposta:

  1. aumentare i privilegi facendo quello che hai detto, in questo caso "sv_enable sv_admin".
  2. utilizzare "id", "whoami", "w", "who" o qualcosa di simile, per certo, sapere che qualsiasi privilegio è addirittura aumentato.
  3. utilizzare "passwd" sull'EUID o sull'UID (a seconda della situazione: ma di solito i numeri più bassi sono i migliori / "più privilegi") per modificare permanentemente la password di accesso ...

Ora non ho mai usato Ansible, ma è basato su Python quindi la funzionalità dovrebbe essere prontamente disponibile per la lettura. Suggerimento: utilizzare "strace" e / o "ltrace" per scoprire cosa succede e / o come il programma traduce il comando "sv_enable sv_admin". Se c'è una serie di setuid, setgid, seteuid, setegid, serreuid, ecc ... allora essenzialmente funzionerebbe anche sudo - ricorda: man sudo. <--- Ci sono molte opzioni per scoprire questo problema usando solo il pensiero logico.