Ansible ssh là người dùng và thực thi có root (mong đợi như)


8

Tôi phải quản trị một số lượng máy chủ quan trọng trong đó chỉ có một người dùng có thể truy cập từ SSH (hãy gọi anh ta là foo) và sau đó phải đăng nhập với quyền root để thực thi các lệnh đặc quyền.

Người dùng Foo không có bất kỳ loại đặc quyền sudo nào nên tôi buộc phải đăng nhập với quyền root để thực thi các lệnh đặc quyền. Tôi thực sự đang sử dụng một tập lệnh mong đợi để thực hiện công việc này (đăng nhập ssh dưới dạng foo, đăng nhập bằng root thông qua su) và tôi muốn chuyển sang Ansible. Tôi biết tôi có thể tạo một người dùng mới và cung cấp cho anh ta các đặc quyền sudo hoặc về cơ bản cung cấp các đặc quyền sudo cho foo nhưng liệu có thể làm điều tương tự mà tôi đang làm với mong đợi với Ansible không?

Tôi muốn thực hiện kết nối ssh dưới dạng foo và sau đó thực thi playbooks hoặc bất kỳ loại lệnh adhoc nào với quyền root. Tôi không tìm thấy bất kỳ thông tin nào trong tài liệu Ansible về điều đó vì vậy tôi hỏi ở đây nếu ai đó đã có loại thẩm vấn này.

Câu trả lời:


13

Với ansible, bạn có thể sử dụng sudohoặc su:

- hosts: example.com
  gather_facts: False
  su: yes
  su_user: root
  tasks:
    - shell: whoami

Bạn cũng có thể làm điều đó từ dòng lệnh:

ansible-playbook --su --su-user=root --ask-su-pass playbook.yml

Chức năng này đã có sẵn kể từ yêu cầu kéo này và có mặt trong 1.6.6 hiện tại.


1
Cảm ơn. Làm thế nào bạn có thể có mật khẩu su khác nhau cho mỗi máy chủ? ansible_su_pass không tồn tại
Arka

Bạn đã tìm thấy làm thế nào để chọn vượt qua susible su?
jeremieca

Kể từ phiên bản 1.9.4, bạn không thể có mật khẩu khác nhau cho mỗi máy chủ. Bạn có thể có các phím ssh khác nhau mặc dù.
bschlueter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.