Ansible paramiko ssh 卡在何时升级权限命令

Ansible paramiko ssh 卡在何时升级权限命令

我有基于 freebsd 的 sandvine 设备,我需要创建剧本以实现多自动化目的,但是在需要提升权限时遇到问题,提升权限的唯一方法是通过此命令,sv_enable sv_admin它的工作方式类似于su -命令,它将提示符从更改>$>#sudo 在这里不起作用,所以当我运行剧本并且当涉及到这个命令时,sv_enable sv_admin剧本挂起了,我将 Ansible 的默认 ssh 连接更改为 paramkio,但没有运气仍然面临同样的问题,我感谢您及时关注此事并提前感谢您。

我的剧本:

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

答案1

我认为你已经找到答案了:

  1. 通过执行您所说的任何操作来提升权限,在本例中为“sv_enable sv_admin”。
  2. 使用“id”、“whoami”、“w”、“who”或类似的东西来确定是否已经升级任何权限。
  3. 使用 EUID 或 UID 上的“passwd”(视情况而定:但通常数字越低越好/“权限越多”)来永久更改登录密码...

现在我从未使用过 Ansible,但它基于 python,因此功能应该很容易阅读。提示:使用“strace”和/或“ltrace”来找出发生了什么以及/或程序如何转换“sv_enable sv_admin”命令。如果有一系列 setuid、setgid、seteuid、setegid、serreuid 等……那么 sudo 基本上也可以工作 - 记住:man sudo。<--- 仅使用逻辑思维就有很多方法可以发现这个问题。

相关内容