|
|
@ -3,14 +3,14 @@ export LANG=C.UTF-8
|
|
|
|
|
|
|
|
|
|
|
|
f_version() {
|
|
|
|
f_version() {
|
|
|
|
echo -e '
|
|
|
|
echo -e '
|
|
|
|
Сценарий ввода МСВСфера ОС в домен Windows/SAMBA, FreeIPA
|
|
|
|
Сценарий ввода РЕД ОС в домен Windows/SAMBA, FreeIPA
|
|
|
|
Версия: 0.6.6
|
|
|
|
Версия: 0.6.6
|
|
|
|
Последнее обновление: 04.03.2024
|
|
|
|
Последнее обновление: 04.03.2024
|
|
|
|
|
|
|
|
|
|
|
|
(c) РЕД СОФТ
|
|
|
|
(c) РЕД СОФТ
|
|
|
|
'
|
|
|
|
'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
join_check=`/bin/mktemp /tmp/join_check.XXXXXX`
|
|
|
|
|
|
|
|
|
|
|
|
# Считываем входные параметры в переменные
|
|
|
|
# Считываем входные параметры в переменные
|
|
|
|
while [ -n "$1" ]; do
|
|
|
|
while [ -n "$1" ]; do
|
|
|
@ -87,7 +87,7 @@ NC='\033[0m' # No Color
|
|
|
|
|
|
|
|
|
|
|
|
f_help() {
|
|
|
|
f_help() {
|
|
|
|
echo -e '
|
|
|
|
echo -e '
|
|
|
|
Скрипт позволяет ввести МСВСфера ОС в домен Windows(2008/2012/2016/2019/2022), SAMBA или домен IPA.
|
|
|
|
Скрипт позволяет ввести копмьютер в домен Windows(2008/2012/2016/2019/2022), SAMBA или домен IPA.
|
|
|
|
Скрипт необходимо запускать с правами пользователя root.
|
|
|
|
Скрипт необходимо запускать с правами пользователя root.
|
|
|
|
Параметры:
|
|
|
|
Параметры:
|
|
|
|
-d Имя домена
|
|
|
|
-d Имя домена
|
|
|
@ -143,7 +143,7 @@ fi
|
|
|
|
# Проверка запуска скрипта от root
|
|
|
|
# Проверка запуска скрипта от root
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
echo
|
|
|
|
echo
|
|
|
|
echo -e " Ввод МСВСфера ОС в домен Windows (2008/2012/2016/2019/2022), SAMBA и домен IPA
|
|
|
|
echo -e " Ввод компьютера в домен Windows (2008/2012/2016/2019/2022), SAMBA и домен IPA
|
|
|
|
Запустите скрипт с правами пользователя root."
|
|
|
|
Запустите скрипт с правами пользователя root."
|
|
|
|
echo
|
|
|
|
echo
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
@ -253,8 +253,8 @@ f_choce_pill() {
|
|
|
|
break
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
echo -e "\n Выберите тип домена:"
|
|
|
|
echo -e "\n Выберите тип домена:"
|
|
|
|
echo " 1. Ввод МСВСфера ОС в домен Windows/SAMBA"
|
|
|
|
echo " 1. Ввод компьютера в домен Windows/SAMBA"
|
|
|
|
echo " 2. Ввод МСВСфера ОС в домен IPA"
|
|
|
|
echo " 2. Ввод компьютера в домен IPA"
|
|
|
|
read -p " Укажите (1 или 2): " choce_domain
|
|
|
|
read -p " Укажите (1 или 2): " choce_domain
|
|
|
|
case $choce_domain in
|
|
|
|
case $choce_domain in
|
|
|
|
[1]* ) return $choce_domain; break;;
|
|
|
|
[1]* ) return $choce_domain; break;;
|
|
|
@ -305,11 +305,11 @@ check_domain_name()
|
|
|
|
#$2 - v_domain
|
|
|
|
#$2 - v_domain
|
|
|
|
#$3 - v_name_pc
|
|
|
|
#$3 - v_name_pc
|
|
|
|
#$4 - v_pass_admin
|
|
|
|
#$4 - v_pass_admin
|
|
|
|
rm -f /tmp/join_check.txt
|
|
|
|
rm -f $join_check
|
|
|
|
check=$(adcli show-computer -U $1 --domain=$2 $3 --stdin-password <<< $4 &> /tmp/join_check.txt)
|
|
|
|
check=$(adcli show-computer -U $1 --domain=$2 $3 --stdin-password <<< $4 &> $join_check)
|
|
|
|
v_check=$(cat /tmp/join_check.txt)
|
|
|
|
v_check=$(cat $join_check)
|
|
|
|
echo " Проверка аутентификации в домене:" &>> /var/log/join-to-domain.log
|
|
|
|
echo " Проверка аутентификации в домене:" &>> /var/log/join-to-domain.log
|
|
|
|
cat /tmp/join_check.txt &>> /var/log/join-to-domain.log
|
|
|
|
cat $join_check &>> /var/log/join-to-domain.log
|
|
|
|
if grep -Pq "sAMAccountName" <<< "$v_check";
|
|
|
|
if grep -Pq "sAMAccountName" <<< "$v_check";
|
|
|
|
then
|
|
|
|
then
|
|
|
|
if [[ -n "$force" ]]; then
|
|
|
|
if [[ -n "$force" ]]; then
|
|
|
@ -644,7 +644,7 @@ freedom()
|
|
|
|
successful_out_ipa2=$(grep 'Client uninstall complete' /var/log/ipaclient-uninstall.log | awk '{ print $NF }')
|
|
|
|
successful_out_ipa2=$(grep 'Client uninstall complete' /var/log/ipaclient-uninstall.log | awk '{ print $NF }')
|
|
|
|
if [[ "$successful_out_ipa" = "successful" || "$successful_out_ipa2" = "complete." ]]
|
|
|
|
if [[ "$successful_out_ipa" = "successful" || "$successful_out_ipa2" = "complete." ]]
|
|
|
|
then
|
|
|
|
then
|
|
|
|
echo ' Компьютер выведен из домена IPA. Перезагрузите ПК!' | tee -a /var/log/join-to-domain.log
|
|
|
|
echo ' Компьютер выведен из домена IPA. Перезагрузите ОС!' | tee -a /var/log/join-to-domain.log
|
|
|
|
f_msg_exit_domian
|
|
|
|
f_msg_exit_domian
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo "Ошибка вывода из домена IPA, см. /var/log/ipaclient-uninstall.log" | tee -a /var/log/join-to-domain.log
|
|
|
|
echo "Ошибка вывода из домена IPA, см. /var/log/ipaclient-uninstall.log" | tee -a /var/log/join-to-domain.log
|
|
|
@ -806,7 +806,7 @@ echo -e '
|
|
|
|
# Проверка на realm list
|
|
|
|
# Проверка на realm list
|
|
|
|
result_realm=$(realm list)
|
|
|
|
result_realm=$(realm list)
|
|
|
|
if [ -z "$result_realm" ]
|
|
|
|
if [ -z "$result_realm" ]
|
|
|
|
then echo -e '\n Ввод МСВСфера ОС в домен Windows(2008/2012/2016/2019/2022), SAMBA, IPA \n'
|
|
|
|
then echo -e '\n Ввод компьютера в домен Windows(2008/2012/2016/2019/2022), SAMBA, IPA \n'
|
|
|
|
echo ' Этот компьютер не в домене!' | tee -a /var/log/join-to-domain.log
|
|
|
|
echo ' Этот компьютер не в домене!' | tee -a /var/log/join-to-domain.log
|
|
|
|
myAsk
|
|
|
|
myAsk
|
|
|
|
f_choce_pill
|
|
|
|
f_choce_pill
|
|
|
@ -858,7 +858,7 @@ if [ -n "$gui" ]
|
|
|
|
then
|
|
|
|
then
|
|
|
|
zenity --info \
|
|
|
|
zenity --info \
|
|
|
|
--title="Ввод в домен IPA" \
|
|
|
|
--title="Ввод в домен IPA" \
|
|
|
|
--text="Компьютер успешно введен в домен IPA! Перезагрузите ПК" \
|
|
|
|
--text="Компьютер успешно введен в домен IPA! Перезагрузите ОС" \
|
|
|
|
--no-wrap &> /dev/null
|
|
|
|
--no-wrap &> /dev/null
|
|
|
|
exit;
|
|
|
|
exit;
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -875,7 +875,7 @@ fi
|
|
|
|
# Follow the white rabbit
|
|
|
|
# Follow the white rabbit
|
|
|
|
if [ "$choce_domain" = "2" ]
|
|
|
|
if [ "$choce_domain" = "2" ]
|
|
|
|
then
|
|
|
|
then
|
|
|
|
echo -e '\n Для ввода МСВСфера ОС в домен IPA, введите имя домена.\n Пример: example.com\n'
|
|
|
|
echo -e '\n Для ввода компьютера в домен IPA, введите имя домена.\n Пример: example.com\n'
|
|
|
|
read -p ' Имя домена: ' v_domain
|
|
|
|
read -p ' Имя домена: ' v_domain
|
|
|
|
echo ' Введите имя ПК. Пример: client1'
|
|
|
|
echo ' Введите имя ПК. Пример: client1'
|
|
|
|
|
|
|
|
|
|
|
@ -897,7 +897,7 @@ then
|
|
|
|
if [ "$successful_in_ipa" = "successful" ]
|
|
|
|
if [ "$successful_in_ipa" = "successful" ]
|
|
|
|
then
|
|
|
|
then
|
|
|
|
echo
|
|
|
|
echo
|
|
|
|
echo " МСВСфера ОС успешно введён в домен IPA! Перезагрузите ПК."
|
|
|
|
echo " Компьютер успешно введён в домен IPA! Перезагрузите ОС."
|
|
|
|
else echo -e '\n Ошибка ввода в домен IPA, см. /var/log/ipaclient-install.log'
|
|
|
|
else echo -e '\n Ошибка ввода в домен IPA, см. /var/log/ipaclient-install.log'
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
exit;
|
|
|
|
exit;
|
|
|
@ -909,7 +909,7 @@ fi
|
|
|
|
if [[ -z "$v_domain" && -z "$v_name_pc" && -z "$v_admin" && -z "$gui" && -z "$v_ou" ]]; then
|
|
|
|
if [[ -z "$v_domain" && -z "$v_name_pc" && -z "$v_admin" && -z "$gui" && -z "$v_ou" ]]; then
|
|
|
|
v_search_domain=$(cat /etc/resolv.conf | awk '/^search/ && !/^#/{print $2}')
|
|
|
|
v_search_domain=$(cat /etc/resolv.conf | awk '/^search/ && !/^#/{print $2}')
|
|
|
|
if [[ -z "$v_search_domain" ]]; then
|
|
|
|
if [[ -z "$v_search_domain" ]]; then
|
|
|
|
echo -e ' Для ввода МСВСфера ОС в домен Windows/SAMBA, введите имя домена.\n Пример: example.com\n'
|
|
|
|
echo -e ' Для ввода компьютера в домен Windows/SAMBA, введите имя домена.\n Пример: example.com\n'
|
|
|
|
read -p ' Имя вашего домена: ' v_domain
|
|
|
|
read -p ' Имя вашего домена: ' v_domain
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo
|
|
|
|
echo
|
|
|
@ -1545,12 +1545,12 @@ fi
|
|
|
|
|
|
|
|
|
|
|
|
echo ' Лог установки: /var/log/join-to-domain.log'
|
|
|
|
echo ' Лог установки: /var/log/join-to-domain.log'
|
|
|
|
echo
|
|
|
|
echo
|
|
|
|
echo ' Выполнено. Компьютер успешно введен в домен! Перезагрузите ПК.' | tee -a /var/log/join-to-domain.log
|
|
|
|
echo ' Выполнено. Компьютер успешно введен в домен! Перезагрузите ОС.' | tee -a /var/log/join-to-domain.log
|
|
|
|
if [ -n "$gui" ]
|
|
|
|
if [ -n "$gui" ]
|
|
|
|
then
|
|
|
|
then
|
|
|
|
zenity --info \
|
|
|
|
zenity --info \
|
|
|
|
--title="Ввод в домен" \
|
|
|
|
--title="Ввод в домен" \
|
|
|
|
--text="Компьютер успешно введен в домен! Перезагрузите ПК." \
|
|
|
|
--text="Компьютер успешно введен в домен! Перезагрузите ОС." \
|
|
|
|
--no-wrap &> /dev/null
|
|
|
|
--no-wrap &> /dev/null
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|