# Быстрый старт - Роль devops ## Автор Сергей Антропов Сайт: https://devops.org.ru ## Что делает роль Роль `devops` автоматически: 1. ✅ Создает пользователя `devops` 2. ✅ Генерирует безопасный пароль (30 символов) 3. ✅ Настраивает SSH доступ по ключу 4. ✅ Добавляет права sudo без пароля 5. ✅ Создает домашнюю директорию ## Быстрый запуск ### 1. Базовое использование ```bash ansible-playbook -i inventory/hosts.ini roles/deploy.yml ``` ### 2. С SSH ключом из vault ```bash ansible-playbook -i inventory/hosts.ini roles/deploy.yml \ --ask-vault-pass \ -e "devops_ssh_public_key={{ devops_ssh_keys.public_key }}" ``` ### 3. Только роль devops ```bash ansible-playbook -i inventory/hosts.ini roles/devops/playbook.yml ``` ## Проверка результата После выполнения проверьте: ```bash # Проверка пользователя ansible all -i inventory/hosts.ini -m shell -a "id devops" # Проверка sudo прав ansible all -i inventory/hosts.ini -m shell -a "sudo -l -U devops" # Проверка SSH директории ansible all -i inventory/hosts.ini -m shell -a "ls -la /home/devops/.ssh/" ``` ## Настройка SSH ключа 1. Добавьте ваш SSH ключ в `vault/secrets.yml`: ```yaml devops_ssh_keys: public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7vbqajDhA... your@email.com" ``` 2. Запустите playbook с передачей ключа: ```bash ansible-playbook -i inventory/hosts.ini roles/deploy.yml \ --ask-vault-pass \ -e "devops_ssh_public_key={{ devops_ssh_keys.public_key }}" ``` ## Кастомизация ### Изменить имя пользователя ```yaml vars: devops_user: name: "myuser" home: "/home/myuser" ``` ### Изменить длину пароля ```yaml vars: devops_password: length: 40 ``` ### Добавить группы ```yaml vars: devops_user: groups: ["sudo", "docker", "wheel", "adm"] ``` ## Безопасность - 🔒 Пароль генерируется автоматически и не сохраняется в логах - 🔑 SSH доступ только по ключу (если настроен) - 🛡️ Пользователь добавлен в sudoers с правами NOPASSWD - 📁 SSH директория имеет правильные права доступа (700) ## Troubleshooting ### Проблема: Пользователь не создан ```bash # Проверьте права sudo ansible all -i inventory/hosts.ini -m shell -a "sudo whoami" ``` ### Проблема: SSH не работает ```bash # Проверьте права на SSH директорию ansible all -i inventory/hosts.ini -m shell -a "ls -la /home/devops/.ssh/" ``` ### Проблема: Sudo не работает ```bash # Проверьте sudoers файл ansible all -i inventory/hosts.ini -m shell -a "sudo visudo -c" ``` ## Поддержка - 📧 Email: через сайт https://devops.org.ru - 📖 Документация: `roles/devops/README.md` - 🧪 Тесты: `roles/devops/tests/test.yml`