forked from bashclub/zamba-lxc-toolbox
		
	Added zmb-ad prototype
This commit is contained in:
		
							
								
								
									
										112
									
								
								zmb-ad.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								zmb-ad.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Authors: | ||||
| # (C) 2021 Idea an concept by Christian Zengel <christian@sysops.de> | ||||
| # (C) 2021 Script design and prototype by Markus Helmke <helmke@cloudistboese.de> | ||||
| # (C) 2021 Script rework and documentation by Thorsten Spille <thorsten@spille-edv.de> | ||||
|  | ||||
| source ./zamba.conf | ||||
|  | ||||
| # Set Timezone | ||||
| ln -sf /usr/share/zoneinfo/$LXC_TIMEZONE /etc/localtime | ||||
|  | ||||
| # configure system language | ||||
| dpkg-reconfigure locales | ||||
|  | ||||
| ## configure ntp | ||||
| cat << EOF > /etc/ntp.conf | ||||
| # Local clock. Note that is not the "localhost" address! | ||||
| server 127.127.1.0 | ||||
| fudge  127.127.1.0 stratum 10 | ||||
|  | ||||
| # Where to retrieve the time from | ||||
| server 0.de.pool.ntp.org     iburst prefer | ||||
| server 1.de.pool.ntp.org     iburst prefer | ||||
| server 2.de.pool.ntp.org     iburst prefer | ||||
|  | ||||
| driftfile       /var/lib/ntp/ntp.drift | ||||
| logfile         /var/log/ntp | ||||
| ntpsigndsocket  /usr/local/samba/var/lib/ntp_signd/ | ||||
|  | ||||
| # Access control | ||||
| # Default restriction: Allow clients only to query the time | ||||
| restrict default kod nomodify notrap nopeer mssntp | ||||
|  | ||||
| # No restrictions for "localhost" | ||||
| restrict 127.0.0.1 | ||||
|  | ||||
| # Enable the time sources to only provide time to this host | ||||
| restrict 0.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery | ||||
| restrict 1.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery | ||||
| restrict 2.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery | ||||
|  | ||||
| tinker panic 0 | ||||
| EOF | ||||
|  | ||||
| # update packages | ||||
| apt update | ||||
| DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt -y -qq dist-upgrade | ||||
| # install required packages | ||||
| DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt install -y $LXC_TOOLSET acl attr ntpdate nginx-full rpl net-tools dnsutils ntp bind9 samba smbclient winbind libpam-winbind libnss-winbind krb5-user samba-dsdb-modules samba-vfs-modules lmdb-utils | ||||
|  | ||||
| # stop + disable samba services and remove default config | ||||
| systemctl stop smbd nmbd winbind | ||||
| systemctl disable smbd nmbd winbind | ||||
| rm /etc/samba/smb.conf | ||||
| rm /etc/krb5.conf | ||||
|  | ||||
| # configure bind dns service | ||||
| cat << EOF > /etc/default/bind9 | ||||
| # | ||||
| # run resolvconf? | ||||
| RESOLVCONF=no | ||||
|  | ||||
| # startup options for the server | ||||
| OPTIONS="-4 -u bind" | ||||
| EOF | ||||
|  | ||||
| cat << EOF > /etc/bind/named.conf.local | ||||
| // | ||||
| // Do any local configuration here | ||||
| // | ||||
|  | ||||
| // Consider adding the 1918 zones here, if they are not used in your | ||||
| // organization | ||||
| //include "/etc/bind/zones.rfc1918"; | ||||
| dlz "$LXC_DOMAIN" { | ||||
|   database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so"; | ||||
| }; | ||||
| EOF | ||||
|  | ||||
| cat << EOF > /etc/bind/named.conf.options | ||||
| options { | ||||
|   directory "/var/cache/bind"; | ||||
|  | ||||
|   forwarders { | ||||
|     $LXC_DNS; | ||||
|   }; | ||||
|  | ||||
|   allow-query {  any;}; | ||||
|   dnssec-validation no; | ||||
|  | ||||
|   auth-nxdomain no;    # conform to RFC1035 | ||||
|   listen-on-v6 { any; }; | ||||
|   listen-on { any; }; | ||||
|  | ||||
|   tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab"; | ||||
|   minimal-responses yes; | ||||
| }; | ||||
| EOF | ||||
|  | ||||
| mkdir -p /var/lib/samba/bind-dns/dns | ||||
|  | ||||
| # provision zamba domain | ||||
| samba-tool domain provision --use-rfc2307 --realm=$ZMB_REALM --domain=$ZMB_DOMAIN --adminpass=$ZMB_ADMIN_PASS --server-role=dc --backend-store=mdb --dns-backend=BIND9_DLZ | ||||
|  | ||||
| ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf | ||||
|  | ||||
| systemctl unmask samba-ad-dc | ||||
| systemctl enable samba-ad-dc bind9 | ||||
| systemctl restart samba-ad-dc bind9 | ||||
|  | ||||
| exit 0 | ||||
		Reference in New Issue
	
	Block a user