Initial commit
This commit is contained in:
		
							
								
								
									
										312
									
								
								roles/common/tasks/nis-install-client.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										312
									
								
								roles/common/tasks/nis-install-client.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,312 @@ | ||||
| --- | ||||
|  | ||||
| # --- | ||||
| # Install nis | ||||
| # --- | ||||
|  | ||||
| - name: (nis-install-client.yml) Set (nis) default domain (/etc/defaultdomain) | ||||
|   template: | ||||
|     dest: /etc/defaultdomain   | ||||
|     src: etc/defaultdomain.j2 | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: 0644 | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Create preconfigured /etc/yp.conf on nis clients | ||||
|   template: | ||||
|     dest: /etc/yp.conf | ||||
|     src: etc/yp.conf.j2 | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: 0644 | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Install nis common packages | ||||
|   package: | ||||
|     name: "{{ item }}" | ||||
|     state: present | ||||
|   with_items: "{{ nis_common_packages }}" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # --- | ||||
| # /etc/default/nis | ||||
| # --- | ||||
|  | ||||
| - name: (nis-install-client.yml) Check if file '/etc/default/nis.ORIG' exists | ||||
|   stat: | ||||
|     path: /etc/default/nis.ORIG | ||||
|   register: default_nis_exists | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Backup existing file /etc/default/nis | ||||
|   command: cp -a /etc/default/nis /etc/default/nis.ORIG | ||||
|   when: | ||||
|     - default_nis_exists.stat.exists == False | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Adjust file /etc/default/nis - set 'NISSERVER' (client) | ||||
|   replace: | ||||
|     path: /etc/default/nis | ||||
|     regexp: '^NISSERVER=.*' | ||||
|     replace: 'NISSERVER=false' | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Adjust file /etc/default/nis - set 'NISCLIENT' (client) | ||||
|   replace: | ||||
|     path: /etc/default/nis | ||||
|     regexp: '^NISCLIENT=.*' | ||||
|     replace: 'NISCLIENT=true' | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Adjust file /etc/default/nis - set 'YPBINDARGS' (client) | ||||
|   replace: | ||||
|     path: /etc/default/nis | ||||
|     regexp: '^YPBINDARGS=.*' | ||||
|     replace: 'YPBINDARGS=' | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # --- | ||||
| # /etc/{passwd,group,shadow} | ||||
| # --- | ||||
|  | ||||
| - name: (nis-install-client.yml) Add '+::::::' to file /etc/passwd | ||||
|   lineinfile: | ||||
|     path: /etc/passwd | ||||
|     line: '+::::::' | ||||
|     insertafter: EOF | ||||
|     state: present | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0644' | ||||
|   when: "ansible_distribution_major_version|int  < 18" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Add '+:::' to file /etc/group | ||||
|   lineinfile: | ||||
|     path: /etc/group | ||||
|     line: '+:::' | ||||
|     insertafter: EOF | ||||
|     state: present | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0644' | ||||
|   when: "ansible_distribution_major_version|int  < 18" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Add '+::::::::' to file /etc/shadow | ||||
|   lineinfile: | ||||
|     path: /etc/shadow | ||||
|     line: '+::::::::' | ||||
|     insertafter: EOF | ||||
|     state: present | ||||
|     owner: root | ||||
|     group: shadow | ||||
|     mode: '0640' | ||||
|   when: "ansible_distribution_major_version|int  < 18" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # --- | ||||
| # /etc/hosts | ||||
| # --- | ||||
|  | ||||
| - name: (nis-install-client.yml) Check if file '/etc/hosts.ORIG' exists | ||||
|   stat: | ||||
|     path: /etc/hosts.ORIG | ||||
|   register: etc_hosts_orig_exists | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Backup existing file /etc/hosts | ||||
|   command: cp -a /etc/hosts /etc/hosts.ORIG | ||||
|   when: | ||||
|     - etc_hosts_orig_exists.stat.exists == False | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Add nis-server to file /etc/hosts | ||||
|   lineinfile: | ||||
|     path: /etc/hosts | ||||
|     line: '{{ nis_server_address }} {{ nis_server_name }} {{ nis_server_name.split(".")[0] }}' | ||||
|     insertafter: EOF | ||||
|     state: present | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0644' | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # --- | ||||
| # /etc/nsswitch.conf | ||||
| # --- | ||||
|  | ||||
| - name: (nis-install-client.yml) Check if file '/etc/nsswitch.conf.ORIG' exists | ||||
|   stat: | ||||
|     path: /etc/nsswitch.conf.ORIG | ||||
|   register: nsswitch_conf_orig_exists | ||||
|   tags: | ||||
|     - nis-install  | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Backup existing file /etc/nsswitch.conf | ||||
|   command: cp -a /etc/nsswitch.conf /etc/nsswitch.conf.ORIG | ||||
|   when: | ||||
|     - nsswitch_conf_orig_exists.stat.exists == False | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Adjust file /etc/nsswitch.conf (set hosts) | ||||
|   replace: | ||||
|     path: /etc/nsswitch.conf | ||||
|     regexp: '(hosts:\s+files)\s+((?!nis).*)$' | ||||
|     replace: '\1 nis \2' | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Adjust file /etc/nsswitch.conf (set passwd/group/shadow) | ||||
|   replace: | ||||
|     path: /etc/nsswitch.conf | ||||
|     regexp: '^({{ item }}:\s+((?!nis).)*)$' | ||||
|     replace: '\1 nis' | ||||
|   with_items: | ||||
|      - passwd | ||||
|      - group | ||||
|      - shadow | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # --- | ||||
| # /etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf | ||||
| # --- | ||||
|  | ||||
| # - !! Using NIS client in Ubuntu 18.04 crashes both Gnome and Unity !! | ||||
| # - =================================================================== | ||||
| # | ||||
| # - Unter NIS in Ubuntu 18.04 stütrzt Gnome und Unity ab | ||||
| # - | ||||
| # - Abhilfe schafft: | ||||
| # - | ||||
| # | ||||
| # - Create a new directory in /etc/systemd/system/ named exactly after the | ||||
| # - service you want to extend including a '.d', here this would be: | ||||
| # -    systemd-logind.service.d | ||||
| # - | ||||
| # -    mkdir /etc/systemd/system/systemd-logind.service.d | ||||
| # | ||||
| # - Create a new file choose_an_appropriate_name.conf (e.g. nis_allow_network.conf) | ||||
| # - inside the newly created directory with the following content, which specifies | ||||
| # - the IP or IP range you want to be allowed: | ||||
| # - | ||||
| # -    cat <<EOF > /etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf | ||||
| # -    [Service] | ||||
| # -    IPAddressAllow=192.168.0.0/16 | ||||
| # -    EOF | ||||
| # - | ||||
| # -    systemctl daemon-reload | ||||
| # -    systemctl restart systemd-logind.service | ||||
|  | ||||
| - name: (nis-install-client.yml) Ensure directory /etc/systemd/system/systemd-logind.service.d exists | ||||
|   file: | ||||
|     path: /etc/systemd/system/systemd-logind.service.d | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0755' | ||||
|     state: directory | ||||
|   when: "ansible_distribution_major_version|int  >= 18" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Ensure file /files/etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf exists | ||||
|   copy: | ||||
|     src: "{{ role_path + '/files/etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf' }}" | ||||
|     dest: /etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0755' | ||||
|   when: "ansible_distribution_major_version|int  >= 18" | ||||
|   notify: | ||||
|     - Restart systemd-logind.service | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # - Seit Ubuntu 16.04 startet nis vor dem portmapper (rpcbind). Das Starten | ||||
| # - schlägt deshalb fehl und nis steht nicht zur Verfügung. | ||||
| # - | ||||
| # - Abhilfe: | ||||
| # - | ||||
| # - Run "systemctl edit rpcbind.socket" and add the following: | ||||
| # - | ||||
| # -    [Unit] | ||||
| # -    DefaultDependencies=no | ||||
| # -    Wants=rpcbind.target | ||||
| # -    Before=rpcbind.target | ||||
| # - | ||||
| # - You can see your changes: | ||||
| # -    cat /etc/systemd/system/rpcbind.socket.d/override.conf | ||||
|  | ||||
| - name: (nis-install-client.yml) Ensure directory /etc/systemd/system/rpcbind.socket.d exists | ||||
|   file: | ||||
|     path: /etc/systemd/system/rpcbind.socket.d | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0755' | ||||
|     state: directory | ||||
|   when: "ansible_distribution_major_version|int  >= 16" | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
| - name: (nis-install-client.yml) Ensure file /files/etc/systemd/system/rpcbind.socket.d/override.conf exists | ||||
|   copy: | ||||
|     src: "{{ role_path + '/files/etc/systemd/system/rpcbind.socket.d/override.conf' }}" | ||||
|     dest: /etc/systemd/system/rpcbind.socket.d/override.conf | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0755' | ||||
|   when: "ansible_distribution_major_version|int  >= 16" | ||||
|   notify: | ||||
|     - Restart rpcbind | ||||
|   tags: | ||||
|     - nis-install | ||||
|     - nis-install-client | ||||
|  | ||||
|  | ||||
| # TODO: | ||||
| # /etc/systemd/system/systemd-logind.service.d/nis_allow_network.conf | ||||
| # /etc/systemd/system/rpcbind.socket.d/override.conf | ||||
		Reference in New Issue
	
	Block a user