javiergayala.users
javiergayala.users
To jest preferowana rola, która tworzy użytkowników na serwerach.
Zmienne Roli
users_list
: lista zawierająca słowniki użytkowników do dodanianame
: nazwa użytkownika do stworzeniagroups
: lista dodatkowych grup oddzielona przecinkami. Domyślnie brak.ssh_key
: tekst zawierający publiczny klucz ssh użytkownika, który zostanie umieszczony w/home/$USER/.ssh/authorized_keys
sudoers
: jeśli ustawione nayes
, użytkownik zostanie dodany do pliku sudoers na serwerze.sudo_opts
: słownik zawierający opcje do użycia w pliku sudoers.passwordless
: (Boolean) domyślnie "False
". Ustaw na "True
", aby umożliwić komendysudo
bez podawania hasła.hosts
: domyślnieALL
. Gospodarze, na których użytkownik może uruchamiaćsudo
.run_as
: domyślnie(ALL)
. Użytkownicy, którzy mogą uruchamiać komendy sudo.commands
: domyślnieALL
. Komendy, które użytkownik może uruchamiać zsudo
.requiretty
: (Boolean) domyślnie nie ustawione. Ustaw naFalse
, aby wyłączyć wymóg posiadania TTY przy użyciu sudo.
user_sshkey_exclusive
: domyślnieno
. Ustawienie nayes
informuje ansible o zarządzaniu kluczami w plikuauthorized_keys
, a każda opcja nieokreślona w playbooku zostanie usunięta.use_os_prompt
: domyślnieno
. Ustawienie nayes
lubTrue
sprawi, że użytkownik NIE będzie używał specjalnego promptu bash. Jest to przydatne dla kont usługowych, takich jak konto wdrożeniowejenkins
lubrswebteam
, lub każdego konta, które nie używaTTY
.
users_list:
- name: deployment
groups: apache
ssh_key: >
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RdK8jlqm8tehUc9c9WhQ== klucz publiczny o niskim poziomie bezpieczeństwa vagrant
sudoers: "yes"
sudo_opts:
passwordless: "True"
hosts: "ALL"
run_as: "(ALL)"
commands: "ALL"
requiretty: "False"
use_os_prompt: "yes"
- name: user1
ssh_key: https://github.com/javiergayala.keys
sudoers: "no"
- name: user2
Przykładowy Playbook
- hosts: servers
roles:
- { role: javiergayala.users, users_list: [{ name: user1 }] }
Testowanie
Aby przetestować i uruchomić tę rolę, będziesz potrzebować:
Zdecydowanie zaleca się używanie virtualenv do testów:
PYENV_HOME=$WORKSPACE/.pyenv/
# Usuń wcześniej zbudowany virtualenv
if [ -d $PYENV_HOME ]; then
rm -rf $PYENV_HOME
fi
# Utwórz virtualenv i zainstaluj potrzebne pakiety
virtualenv --no-site-packages $PYENV_HOME
. $PYENV_HOME/bin/activate
pip install -r pip-requirements.txt
molecule test --all
Licencja
BSD
Informacje o autorze
Javier Ayala [email protected]
ansible-galaxy install javiergayala.users