kry*_*nio 0 sudo ansible ansible-playbook
如果我想使用例如apt安装一些东西我可以创建playbook:
- hosts: xxx
roles:
- my-role
Run Code Online (Sandbox Code Playgroud)
并且在角色的tasks/main.yml中:
- name: install something
sudo: yes
apt: "name=something state=installed"
Run Code Online (Sandbox Code Playgroud)
但是,我可以在剧本中添加sudo:
- hosts: xxx
sudo: yes
roles:
- my-role
Run Code Online (Sandbox Code Playgroud)
并从任务中删除它:
- name: install something
apt: "name=something state=installed"
Run Code Online (Sandbox Code Playgroud)
两种解决方案都有效,但哪种解决方案更好?这个解决方案有区别吗?优点?缺点?
您应该考虑最小特权原则.用户或进程应具有完成指定任务所需的最低权限级别.例如,如果您只需要将文件上传到主目录中,那么以root身份执行操作就是一种过度杀伤力.如果要推送新的应用程序版本,请以Web用户而不是root用户身份执行.
当您sudo:在playbook级别指定时,下面的所有任务都将在该(可能不必要的)权限级别运行.而如果您在task:级别指定它,则只有该特定任务将以root身份运行.
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |