Files
syno-scripts/Bash/TESTING/domain_join.sh
T

118 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
gruppe="MGT_SG_TIER1_Admins"
# Pfad zur Konfigurationsdatei
file="/etc/resolv.conf"
file2="/etc/sssd/sssd.conf"
file3="/etc/pam.d/common-session"
file4="/etc/sudoers.d/realm"
# Wert, den Sie überprüfen und setzen möchten
value="domain heim.lan"
resolv () {
#anpassung resolv.conf
echo "!!!! Erforderlichen Daten werden in die resolv.conf geschrieben !!!!"
# Prüfen, ob der Wert in der Datei vorhanden ist
if grep -q "$value" "$file"; then
echo "Der Wert '$value' ist bereits in der Datei vorhanden."
else
# Setzen Sie den Wert, wenn er nicht vorhanden ist
echo "damain heim.lan" >> /etc/resolv.conf
echo "search heim.lan" >> /etc/resolv.conf
fi
}
packages () {
#Packete installieren
echo "!!!! Domain Packete werden installiert !!!!"
apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit libsss-sudo
}
join () {
#domain join
realm join HEIM.LAN
echo "P@ssw0rd"
}
ssh () {
#SSH Berechtigung
realm -v permit -g "$gruppe"
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#Anpassung der SSDD.CONF
sssd () {
# Dienste, die hinzugefügt werden sollen
services="nss, pam, ssh, sudo"
service1="False"
group="MGT_SG_TIER1_Admins"
text="\n \n
# add to the end \n
ldap_user_uid_number = uidNumber \n
ldap_user_gid_number = gidNumber \n
simple_allow_groups = MGT_SG_TIER1_Admins \n
sudoers_provider = ad \n
ad_sudo_search_base = CN=MGT_SG_TIER1_Admins,OU=Tier1_Admins,OU=Domain Groups,DC=heim,DC=lan \n
\n
\n
[sudo] \n
debug_level=5"
# Überprüfen und Anhängen der Dienste und Gruppen
if ! grep -q "^services = $services" "$file2"; then
if grep -q "^services = " "$file2"; then
sed -i "s|^services =.*|services = $services|g" "$file2"
else
echo "services = $services" >> "$file2"
fi
fi
if ! grep -q "^use_fully_qualified_names = $service1" "$file2"; then
if grep -q "^use_fully_qualified_names = " "$file2"; then
sed -i "s|use_fully_qualified_names =.*|use_fully_qualified_names = $service1|g" "$file2"
else
echo "use_fully_qualified_names = $service1" >> "$file2"
fi
fi
if ! grep -q "^simple_allow_group = $group" "$file2"; then
echo "simple_allow_group = $group" >> "$file2"
fi
echo -e $text >> "$file"
echo "Dienste und Gruppe wurden der Konfigurationsdatei hinzugefügt."
}
pam () {
# Anpassung der Pam Common-Session
echo "!!!! Anpannsung der Common-session Home Directory einrichtung !!!!"
pamtext="session optional pam_mkhomedir.so skel=/etc/skel umask=077"
#feststellen der vorletzen Zeile
line_count=$(wc -l < "$file3")
# Einfügen des Textes in die vorletzte Zeile
sed -i "$((line_count-1))i$pamtext" "$file3"
}
sudo () {
# Anpassung der Sudo Rechte
echo "!!!! Anpassung der Sudo rechte Für die Domain Gruppe" $group
sudo="%MGT_SG_TIER1_Admins ALL=(ALL:ALL) NOPASSWD:ALL"
touch /etc/sudoers.d/REALM
echo "$sudo" >> "$file4"
}
dienst (){
systemctl restart sssd
systemctl restart sshd
reboot
}
# Aufruf der Funktionen
resolv
packages
join
ssh
sssd
pam
sudo
dienst