118 lines
3.0 KiB
Bash
Executable File
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 |