gpt4 book ai didi

shell - 使用 "become: true"在 Ansible 不工作的情况下更改默认 shell

转载 作者:行者123 更新时间:2023-12-04 19:04:54 26 4
gpt4 key购买 nike

使用 become更改用户的默认 shell 不会给出预期的结果。使用:

- name: Change default shell to zsh
shell: sudo chsh -s $(which zsh) $(whoami)
/etc/passwd好像:
root:x:0:0:root:/root:/bin/bash
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/usr/bin/zsh
这是预期的结果,即更改 ubuntu 的默认 shell用户到 zsh .现在,我宁愿使用 become :
- name: Change default shell to zsh
become: true
shell: chsh -s $(which zsh)
但是后来 /etc/passwd好像:
root:x:0:0:root:/root:/usr/bin/zsh
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
请注意 zsh设置为 root只要。
我在这里想念什么?不是 become: trueshell: chsh -s $(which zsh)sudo chsh -s $(which zsh) $(whoami) 相同或 sudo chsh -s $(which zsh) ?
如果我添加 $(whoami)喜欢:
- name: Change default shell to zsh
become: true
shell: chsh -s $(which zsh) $(whoami)
我也一样, rootzsh但不是我要更改的用户。

最佳答案

我会使用这样的东西:

- name: Ensure the user 'ubuntu' has a zsh shell.
user:
name: ubuntu
shell: /bin/zsh
state: present
become: yes

关于shell - 使用 "become: true"在 Ansible 不工作的情况下更改默认 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72319038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com