我想/bin/rbash
用 Ansible管理一堆作为默认 shell运行的设备。
问题是 Ansible 总是试图执行一个rbash
根本不喜欢的命令列表:
umask 77 && mkdir -p \"` echo ./ansible-tmp-1460362654.19-62671997084808 `\" && echo \"` echo ./ansible-tmp-1460362654.19-62671997084808 `\"
Run Code Online (Sandbox Code Playgroud)
任何想法如何避免此命令?
澄清一下:我想更改 Ansible 使用的 shell,并且只有一个用户可用。
唔。我认为您可以使用ansible 的 raw module解决这个问题。
请记住,虽然 rbash 是一个受限制的 shell,但完全有可能启动一个不受限制的子 shell;与其说是提供安全,不如说是为了防止事故的发生。
所以这就是我要做的。我已经对此进行了测试并确认它成功地更改了受限制的外壳。请注意,它必须提示输入密码,因为chsh
提示输入密码,如果没有 root 访问权限,这是无法避免的。
---
- hosts: all
gather_facts: False
remote_user: username
tasks:
- name: change shell
raw: "bash -c 'chsh -s /bin/bash' <<< '{{chsh_password}}' "
vars_prompt:
- name: "chsh_password"
prompt: "Password"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
852 次 |
最近记录: |