Вытаскиваем Логин пользователя из Spark на Windows
Так спарк по умолчанию стартует вместе с windows и выйти из него нельзя, возможность убрана. Доменные учетные записи не везде , а нахождение сотрудника в спарке обязательно по его учетке (доменной в спарке) определим какой сотрудника за каким ПК находится. Учетная запись формате Фамилия Инициалы.
Для доменных учетных записей вида home/домен/учетка и обычных учеток home/учетка . Сделан просто поиск файлика в папке home и подстановка пути в цикле.
Login-spark.sh
Показать
#!/bin/bash
# IP адрес хоста
for ip in $(ip addr|grep -E "192.168.*|172.16.*"|sed 's/inet //'|sed 's|/.*||g')
do
set ip="${ip}"
done
# Запрашиваем папки в домашней папке home циклом
#for dirp in $(ls -F /home|grep -E "*/")
#do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин (Не работает если 2 папки пользователя user user*)
#LOGIN=$LOGIN"$(grep -i "username=*" /home/"${dirp}".Spark/spark.properties|sed 's/username=//'|sed 's/proxyUsername=//')"
#done
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
#curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://news.csv35.ru/glpi/data_server/data.php
# Поиском ищем конфигурационный файл в папке home +для доменных
for dirp in $(find /home/ -name spark.properties)
do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин
LOGIN=$(grep -i "username=*" "${dirp}"|sed 's/username=//'|sed 's/proxyUsername=//')
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://IP-DNS/glpi/data_server/data.php
done
exit 0
# IP адрес хоста
for ip in $(ip addr|grep -E "192.168.*|172.16.*"|sed 's/inet //'|sed 's|/.*||g')
do
set ip="${ip}"
done
# Запрашиваем папки в домашней папке home циклом
#for dirp in $(ls -F /home|grep -E "*/")
#do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин (Не работает если 2 папки пользователя user user*)
#LOGIN=$LOGIN"$(grep -i "username=*" /home/"${dirp}".Spark/spark.properties|sed 's/username=//'|sed 's/proxyUsername=//')"
#done
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
#curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://news.csv35.ru/glpi/data_server/data.php
# Поиском ищем конфигурационный файл в папке home +для доменных
for dirp in $(find /home/ -name spark.properties)
do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин
LOGIN=$(grep -i "username=*" "${dirp}"|sed 's/username=//'|sed 's/proxyUsername=//')
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://IP-DNS/glpi/data_server/data.php
done
exit 0
Предыдущая версия Login-spark.sh
Показать
#!/bin/bash
# Запрашиваем папки в домашней папке home циклом
for dirp in $(ls -F /home|grep -E "*/")
do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин (Не работает если 2 папки пользователя user user*)
LOGIN=$LOGIN"$(grep -i "username=*" /home/"${dirp}".Spark/spark.properties|sed 's/username=//'|sed 's/proxyUsername=//')"
done
# IP аддрес хоста
for ip in $(ip addr|grep -E "192.168.*|172.16.*"|sed 's/inet //'|sed 's|/.*||g')
do
set ip="${ip}"
done
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://IP-DNS/glpi/data_server/data.php
# Запрашиваем папки в домашней папке home циклом
for dirp in $(ls -F /home|grep -E "*/")
do
# Ищем строку логина в файле подставляя папки пользователей|обрезаем начало оставляя логин (Не работает если 2 папки пользователя user user*)
LOGIN=$LOGIN"$(grep -i "username=*" /home/"${dirp}".Spark/spark.properties|sed 's/username=//'|sed 's/proxyUsername=//')"
done
# IP аддрес хоста
for ip in $(ip addr|grep -E "192.168.*|172.16.*"|sed 's/inet //'|sed 's|/.*||g')
do
set ip="${ip}"
done
# Вывод Логина Имени IP Хоста
#echo $LOGIN $HOSTNAME "${ip}"
curl -X POST -d "SPARK=LOGIN=$LOGIN HOSTNAME=$HOSTNAME IP="${ip}"" https://IP-DNS/glpi/data_server/data.php
Install-Login-spark.sh
Показать
#!/bin/bash
# Установка скрипта Login-spark.sh
# Копируем скрипт из текущей папки Login-spark.sh
cp Login-spark.sh /home/Login-spark.sh
# Даём права на запуск скрипта
chmod 777 -R /home/Login-spark.sh
# Добавим настройки в Крон
cat /dev/null > /etc/cron.d/Login-spark
{
echo '# Path'
echo "PATH=/usr/sbin:"${PATH}""
echo '# Login-spark'
echo '5 10 * * * root /home/Login-spark.sh > /dev/null 2>&1'
echo '@reboot root /home/Login-spark.sh > /dev/null 2>&1'
} > "/etc/cron.d/Login-spark"
# Добавим Автозапуск Крона если он отключен
systemctl crond enable
#chmod a-x /etc/rc.d/init.d/crond
#chmod 754 /etc/rc.d/init.d/crond
chkconfig --add crond
chkconfig crond on
# Перезапуск службы Крона
service crond restart
# Запустим для теста Login-spark
cd /
./home/Login-spark.sh
# Установка скрипта Login-spark.sh
# Копируем скрипт из текущей папки Login-spark.sh
cp Login-spark.sh /home/Login-spark.sh
# Даём права на запуск скрипта
chmod 777 -R /home/Login-spark.sh
# Добавим настройки в Крон
cat /dev/null > /etc/cron.d/Login-spark
{
echo '# Path'
echo "PATH=/usr/sbin:"${PATH}""
echo '# Login-spark'
echo '5 10 * * * root /home/Login-spark.sh > /dev/null 2>&1'
echo '@reboot root /home/Login-spark.sh > /dev/null 2>&1'
} > "/etc/cron.d/Login-spark"
# Добавим Автозапуск Крона если он отключен
systemctl crond enable
#chmod a-x /etc/rc.d/init.d/crond
#chmod 754 /etc/rc.d/init.d/crond
chkconfig --add crond
chkconfig crond on
# Перезапуск службы Крона
service crond restart
# Запустим для теста Login-spark
cd /
./home/Login-spark.sh
Добавить к архиву для установки через ocs агента
tar -cvf Install-Login-spark.tar.gz Install-Login-spark.sh Login-spark.sh
Команда запуска
./Install-Login-spark.sh
Скачать