#!/bin/bash
if [ -f /etc/sssd/sssd.conf ]; then
  echo "Найден файл /etc/sssd/sssd.conf"
  echo "Настраиваем SSSD"
  SSSDBASEDN=$(grep 'basedn = ' /etc/ipa/default.conf | sed 's/^basedn = //' )
  SSSDDOMAIN="\[domain\/$(grep 'domain = ' /etc/ipa/default.conf | sed 's/^domain = //' )\]"
  let SSSDCONFIGSTRING=$(sed -n "/${SSSDDOMAIN}/=" /etc/sssd/sssd.conf)
  sed -i '/ldap_search_base/d' /etc/sssd/sssd.conf
  sed -i '/ldap_user_search_base/d' /etc/sssd/sssd.conf
  sed -i '/ldap_group_search_base/d' /etc/sssd/sssd.conf
  sed -i "$(expr ${SSSDCONFIGSTRING} + 1)i\ldap_search_base = cn=accounts,${SSSDBASEDN}???cn=ou,cn=dynamicdirectory,${SSSDBASEDN}??" /etc/sssd/sssd.conf
  sed -i "$(expr ${SSSDCONFIGSTRING} + 2)i\ldap_user_search_base = cn=users,cn=accounts,${SSSDBASEDN}???cn=services,cn=accounts,${SSSDBASEDN}???cn=ou,cn=dynamicdirectory,${SSSDBASEDN}??" /etc/sssd/sssd.conf
  sed -i "$(expr ${SSSDCONFIGSTRING} + 3)i\ldap_group_search_base = cn=groups,cn=accounts,${SSSDBASEDN}???cn=ou,cn=dynamicdirectory,${SSSDBASEDN}??" /etc/sssd/sssd.conf
  sssctl cache-remove -ops
else
  echo "Не найден файл /etc/sssd/sssd.conf проверьте установку ipa-client и повторите попытку"
fi
