Przejąłem serwer Ubuntu 14.04. Ma użytkownika o nazwie "deployer" (używany z capistrano), i jako taki potrzebuje przywilejów sudo. Dzięki tej konfiguracji mogę się zalogować do serwera i robić rzeczy takie jak:Odpowiedz: utwórz użytkownika z uprawnieniami sudo
workstation> ssh [email protected]
myserver> sudo apt-get install git
myserver> exit
workstation>
Próbuję dowiedzieć się, jak korzystać z ansibl (wersja 2.0.2.0 i python 2.7.3), aby utworzyć użytkownika o nazwie „Deployer "i być w stanie zalogować się do serwera z tym id, a następnie tak sudo-takie rzeczy jak" apt-get install ". Moja PlayBook wygląda następująco:
---
- hosts: example
become: yes
tasks:
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 3600
- group: name=sudo state=present
- name: Add deployer user and add it to sudo
user: name=deployer
state=present
createhome=yes
become: yes
become_method: "sudo"
- name: Set up authorized keys for the deployer user
authorized_key: user=deployer key="{{item}}"
with_file:
- /home/jaygodse/.ssh/id_rsa.pub
Po uruchomieniu tej playbook, jestem w stanie ssh do maszyny jako „wdrożeniowcowi” (np ssh Deployer @ myserver), ale jeśli mogę uruchomić komendę sudo, to zawsze mnie pyta dla mojego hasła sudo.
Rozumiem, że użytkownik "wdrażającego" musi ostatecznie znaleźć się w pliku użytkowników visudo, ale nie mogę określić, które magiczne inkantacje z odpowiedziami mają się wywoływać, aby można było dołączyć do maszyny jako wdrażający, a następnie uruchomić sudo (np. sudo apt-get install git ") bez pytania o hasło sudo
Szukałem wysokiego i niskiego poziomu, i nie mogę znaleźć fragmentu Asystenta, który umieszcza użytkownika" deployer "w grupa sudo bez pytania o hasło Jak to zrobić?
Proszę dodać linię 'validate: 'visudo -cf% s'' na końcu sekcji' lineinfile: 'do sprawdzenia przed zapisaniem. Usunięcie pliku sudoers spowoduje trwałe zablokowanie dostępu do sudo. –
'authorized_key' [akceptuje klucz jako ciąg] (http://docs.ansible.com/ansible/latest/authorized_key_module.html) w parametrze' key' od wersji 1.92 – Tim
Możesz również utworzyć/skopiować plik w '/ etc/sudoers.d', większość dystrybucji jako domyślna zawiera linię dla tego ... –