小编Inf*_*ian的帖子

在Ansible中,是否可以根据剧本定义身份验证方法?

TL; DR:是否可以使用一个ansible-playbook命令链接两个剧本,其中一个剧本是密码认证而另一个剧本是密钥认证?(参见上一节的实际目的).

建立:

我有两本剧本,第二部是include第一部.

PlaybookA.yml

---
- name: PlaybookA # requires password authentication
  hosts: sub.domain.ext
  remote_user: root
  roles:
    - { role: role1, sudo: yes }
...
Run Code Online (Sandbox Code Playgroud)

PlaybookB.yml

---
- name: Run PlaybookA
  include: PlaybookA.yml

- name: PlaybookB # requires ssh-key authentication
  hosts: sub.domain.ext
  remote_user: ansible
  roles:
    - { role: role2, sudo: yes }
...
Run Code Online (Sandbox Code Playgroud)

要求:

  1. 仅执行一个命令.
  2. 使用密码验证为PlaybookA.
  3. 对PlaybookB使用ssh-key auth.

问题1:

在Ansible(版本1.9.4或更低版本)中是否可以执行一个ansible-playbook命令,该命令将使用ssh-key身份验证成功运行PlaybookB,但是当PlaybookB包含PlaybookA时,使用密码身份验证运行PlaybookA?

问题2:

如果Ansible 1.9.4或更低版本无法做到这一点,那么这可能是2.0.0+吗?

价值说明:

  1. Ansible提供--ask-pass(或-k)作为启用密码验证的命令行开关.
  2. Ansible提供ask_pass了一个变量但似乎只能在其中设置ansible.cfg(我无法将其设置为Playbook变量以达到所需效果).
  3. 尝试ask_pass在剧本中设置指令会产生以下结果: …

authentication passwords ssh-keys ansible ansible-playbook

8
推荐指数
2
解决办法
1万
查看次数

Gnome 3 - dconf / gsettings - 如何分配多个键绑定?

目标:将Super_LSuper_R键都指定为覆盖菜单的触发器。

环境:Gnome 3.26.2、Fedora 27、Dell XPS 9550、Kinesis Advantage2

原因:工作时,我单独使用笔记本电脑或与外接显示器、键盘和鼠标一起使用。笔记本电脑键盘有一个左超级 (windows) 键,没有右超级 (windows) 键。但是,外接键盘有一个右超级(windows)键,但没有左超级(windows)键。

目前,每次在单独使用笔记本电脑或使用外部设备(或执行等效操作:)之间切换时,我都必须打开gnome-tweak-tooldconf-editorSuper_LSuper_R键之间切换。gsettingsgsettings set org.gnome.mutter overlay-key 'Super_{L/R}'

状态:我尝试使用许多不同的语法策略,通过基于 GUI 的工具(以及通过 CLI 驱动的替代方案)分配 theSuper_LSuper_Rfororg.gnome.mutter.overlay-key值,但没有成功。dconf-editorgsettings

可以通过以下命令输出所有 gsettings 的列表:gsettings list-recursively > gsettings.txt. 根据此文件,多键值的适当语法如下:['value1', 'value2']. 但是,尝试根据此格式 ( gsettings set org.gnome.mutter overlay-key ['Super_L', 'Super_R'])设置值会产生gsettings用法菜单,暗示命令格式无效。

我不太关心使用基于 GUI 的dconf-editor最终,我将使用配置管理软件gsettings为我执行配置(通过)(我Chef …

gnome fedora gnome-3 gsettings

6
推荐指数
1
解决办法
1463
查看次数