add samba users and clients

main
Долгий Артём 2023-08-24 14:51:20 +03:00
parent a3471568f3
commit 81d0348ea9
10 changed files with 103 additions and 11 deletions

View File

@ -3,3 +3,4 @@ host_key_checking = false
inventory = ./hosts.ini inventory = ./hosts.ini
#private_key_file = /home/sysadmin/.ssh/id_rsa #private_key_file = /home/sysadmin/.ssh/id_rsa
private_key_file = /home/da2001/.ssh/id_rsa private_key_file = /home/da2001/.ssh/id_rsa
interpreter_python=/usr/bin/python3

View File

@ -0,0 +1,74 @@
---
- name: Добавление компьютеров в контроллер
hosts: testws
vars_files:
- vars.yml
- mutable_vars.yml
tasks:
- name: Проверка того, что узел не является членом домена
ansible.builtin.shell: net ads testjoin
register: testjoin
ignore_errors: yes
- name: Результат проверки
ansible.builtin.debug:
var: testjoin.stdout_lines
failed_when: testjoin.rc == 0
- name: Обновление системы
apt_rpm:
update_cache: true
dist_upgrade: true
clean: true
- name: Назначение корректного имени хоста
ansible.builtin.hostname:
name: "{{ inventory_hostname }}.{{ dc_details.realm }}"
use: systemd
- name: Настройка синхронизации времени с контроллером домена - {{ dc_details.dc_ip }}
ansible.builtin.lineinfile:
path: /etc/resolvconf.conf
regexp: '^server .*'
line: server {{ dc_details.dc_ip }}
- name: Перезапуск службы синхронизации времени
ansible.builtin.systemd:
name: "{{ sync_time_daemon }}"
enabled: true
state: restarted
masked: false
- name: Настройка резолвера на контроллер домена - {{ dc_details.dc_ip }}
ansible.builtin.lineinfile:
path: /etc/resolvconf.conf
regexp: '^name_servers'
line: name_servers={{ dc_details.dc_ip }}
- name: Обновление конфигурации резолвера
ansible.builtin.shell: "resolvconf -u"
- name: Установка клиентского пакета Samba {{ samba_client_package }}
apt_rpm:
package: "{{ samba_client_package }}"
state: present
update_cache: yes
- name: Ввод в домен
ansible.builtin.shell: |
system-auth write ad {{ dc_details.realm }} {{ inventory_hostname }} {{ dc_details.domain }} \
'{{ dc_details.admin }}' '{{ dc_details.adminpass }}'
register: add_to_domain
- name: Итог ввода
ansible.builtin.debug:
var: add_to_domain.stdout_lines
- name: Проверка ввода в домен
ansible.builtin.shell: net ads testjoin
register: testjoin
failed_when: testjoin.rc != 0
- name: Перезагрузка узла после добваления в домен
ansible.builtin.reboot:
reboot_timeout: 3600

View File

@ -3,7 +3,7 @@
- name: Создание пользователей контроллера домена - name: Создание пользователей контроллера домена
hosts: dctest hosts: dctest
vars_files: vars_files:
- users.yml - samba_users.yml
tasks: tasks:
- name: Пользователи в домене Samba - name: Пользователи в домене Samba

View File

@ -3,3 +3,4 @@ host_key_checking = false
inventory = ./hosts.ini inventory = ./hosts.ini
#private_key_file = /home/sysadmin/.ssh/id_rsa #private_key_file = /home/sysadmin/.ssh/id_rsa
private_key_file = /home/da2001/.ssh/id_rsa private_key_file = /home/da2001/.ssh/id_rsa
interpreter_python=/usr/bin/python3

View File

@ -4,6 +4,7 @@
hosts: dctest hosts: dctest
vars_files: vars_files:
- vars.yml - vars.yml
- mutable_vars.yml
tasks: tasks:
- name: Проверка наличия развёрнутого домена на хосте {{ ansible_hostname }} - name: Проверка наличия развёрнутого домена на хосте {{ ansible_hostname }}

View File

@ -4,6 +4,7 @@
hosts: dctest hosts: dctest
vars_files: vars_files:
- vars.yml - vars.yml
- mutable_vars.yml
tasks: tasks:
- name: Проверка соответствия ОС - name: Проверка соответствия ОС
@ -27,6 +28,11 @@
update_cache: true update_cache: true
dist_upgrade: true dist_upgrade: true
clean: true clean: true
- name: Назначение корректного имени хоста
ansible.builtin.hostname:
name: "{{ inventory_hostname }}.{{ dc_details.realm }}"
use: systemd
- name: Установка пакетов {{ packages }} - name: Установка пакетов {{ packages }}
apt_rpm: apt_rpm:
@ -85,7 +91,7 @@
--option="dns forwarder={{ dc_details.dns_forwarder }}" --server-role=dc --use-rfc2307 --option="dns forwarder={{ dc_details.dns_forwarder }}" --server-role=dc --use-rfc2307
register: dc_provision_output register: dc_provision_output
- ansible.builtin.debug: - ansible.builtin.debug:
msg: dc_provision_output msg: dc_provision_output.stdout_lines
- name: Включение службы {{ samba_service }} - name: Включение службы {{ samba_service }}
ansible.builtin.systemd: ansible.builtin.systemd:

View File

@ -6,4 +6,8 @@ alts2 ansible_host=10.1.1.12 ansible_user=root
alts3 ansible_host=10.1.1.13 ansible_user=root alts3 ansible_host=10.1.1.13 ansible_user=root
[test] [test]
dctest ansible_host=192.168.13.139 ansible_user=root dctest ansible_host=192.168.13.139 ansible_user=root
[testws]
altws ansible_host=192.168.13.152 ansible_user=root
altkws ansible_host=192.168.13.153 ansible_user=root

View File

@ -0,0 +1,8 @@
dc_details:
dc_ip: 192.168.13.139
realm: alt.lan
realm_u: ALT.LAN
domain: alt
admin: Administrator
adminpass: P@ssw0rd
dns_forwarder: 77.88.8.8

View File

@ -1,3 +1,4 @@
# Переменные для настройки контроллера домена
packages: packages:
- task-samba-dc - task-samba-dc
- chrony - chrony
@ -21,12 +22,8 @@ folder_for_gp:
gp_folder: /var/lib/samba/sysvol gp_folder: /var/lib/samba/sysvol
dc_details:
realm: alt.lan
realm_u: ALT.LAN
domain: alt
admin: administrator
adminpass: P@ssw0rd
dns_forwarder: 77.88.8.8
samba_service: samba samba_service: samba
# Переменные для настройки компьютеров-клиентов домена
sync_time_daemon: chronyd
samba_client_package: task-auth-ad-sssd