5f6db0e164
- become constants inherit existing sudo/su ones - become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group - changed method signatures as privlege escalation is collapsed to become - added tests for su and become, diabled su for lack of support in local.py - updated playbook,play and task objects to become - added become to runner - added whoami test for become/sudo/su - added home override dir for plugins - removed useless method from ask pass - forced become pass to always be string also uses to_bytes - fixed fakerunner for tests - corrected reference in synchronize action plugin - added pfexec (needs testing) - removed unused sudo/su in runner init - removed deprecated info - updated pe tests to allow to run under sudo and not need root - normalized become options into a funciton to avoid duplication and inconsistencies - pushed suppored list to connection classs property - updated all connection plugins to latest 'become' pe - includes fixes from feedback (including typos) - added draft docs - stub of become_exe, leaving for future v2 fixes
75 lines
1.6 KiB
YAML
75 lines
1.6 KiB
YAML
- include_vars: default.yml
|
|
|
|
- name: Create test user
|
|
su: True
|
|
user:
|
|
name: "{{ su_test_user }}"
|
|
|
|
- name: test becoming user
|
|
shell: whoami
|
|
su: True
|
|
su_user: "{{ su_test_user }}"
|
|
register: results
|
|
|
|
- assert:
|
|
that:
|
|
- "results.stdout == '{{ su_test_user }}'"
|
|
|
|
- name: tilde expansion honors su in file
|
|
su: True
|
|
su_user: "{{ su_test_user }}"
|
|
file:
|
|
path: "~/foo.txt"
|
|
state: touch
|
|
|
|
- name: check that the path in the user's home dir was created
|
|
stat:
|
|
path: "~{{ su_test_user }}/foo.txt"
|
|
register: results
|
|
|
|
- assert:
|
|
that:
|
|
- "results.stat.exists == True"
|
|
- "results.stat.path|dirname|basename == '{{ su_test_user }}'"
|
|
|
|
- name: tilde expansion honors su in template
|
|
su: True
|
|
su_user: "{{ su_test_user }}"
|
|
template:
|
|
src: "bar.j2"
|
|
dest: "~/bar.txt"
|
|
|
|
- name: check that the path in the user's home dir was created
|
|
stat:
|
|
path: "~{{ su_test_user }}/bar.txt"
|
|
register: results
|
|
|
|
- assert:
|
|
that:
|
|
- "results.stat.exists == True"
|
|
- "results.stat.path|dirname|basename == '{{ su_test_user }}'"
|
|
|
|
- name: tilde expansion honors su in copy
|
|
su: True
|
|
su_user: "{{ su_test_user }}"
|
|
copy:
|
|
src: baz.txt
|
|
dest: "~/baz.txt"
|
|
|
|
- name: check that the path in the user's home dir was created
|
|
stat:
|
|
path: "~{{ su_test_user }}/baz.txt"
|
|
register: results
|
|
|
|
- assert:
|
|
that:
|
|
- "results.stat.exists == True"
|
|
- "results.stat.path|dirname|basename == '{{ su_test_user }}'"
|
|
|
|
- name: Remove test user and their home dir
|
|
su: True
|
|
user:
|
|
name: "{{ su_test_user }}"
|
|
state: "absent"
|
|
remove: "yes"
|
|
|